1、Date类说明
java.util包提供了Date类来封装当前的日期和时间。 Date类提供两个构造函数来实例化Date对象。
// 出始化 Date 对象
Date date = new Date();
// 使用 toString() 函数显示日期时间
System.out.println(date.toString());
// 获取系统毫秒数
long time = System.currentTimeMillis();
// 打印系统毫秒数
System.out.println(System.currentTimeMillis());
2、SimpleDateFormat格式化日期,SimpleDateFormat类简介
SimpleDataFormat类可用于格式化、解析带区域的日期,可将日期格式转为文本,可将文本解析为日期,还可以进行日期规范化。
SimpleDataFormat类支持用户自定义日期格式,同时也提供一些内置的日期格式,例如可通过getTimeInstance、getDateInstance或DateFormat中的getDateTimeInstance获取内置日期格式。上述方法都会返回一个用默认格式的Date/Time类型对象。
public static String YYYY = "yyyy";
public static String YYYY_MM = "yyyy-MM";
public static String YYYY_MM_DD = "yyyy-MM-dd";
public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
public static final String parseDateToStr(final String format, final Date date) {
return new SimpleDateFormat(format).format(date);
}
System.out.println(parseDateToStr(YYYY_MM_DD_HH_MM_SS, new Date()))
3、工具类DateFormatUtils,使用API
Date date = new Date();
// 格式化Date类型时间
String dateStr = DateFormatUtils.format(date, "yyyy-MM-dd");
long time = date.getTime();
// 格式化long类型时间
String dateStr1 = DateFormatUtils.format(time, "yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
// 格式化Calendar类型时间
String dateStr2 = DateFormatUtils.format(calendar, "yyyy-MM-dd");
// 特定格式时间如:2024/01/06
Date now = new Date();
String dateStr3 = DateFormatUtils.format(now, "yyyy/MM/dd");
// 特定格式时间如:20180808
Date now = new Date();
String dateStr3 = DateFormatUtils.format(now, "yyyyMMdd");
4、日期比较,几种方法来比较两个日期:
1、使用getTime()方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
2、使用compareTo()方法,它是由Comparable接口定义的,Date类实现了这个接口。
Date date1 = new Date();
Thread.sleep(1000);
Date date2 = new Date();
int result = date1.compareTo(date2);
if (result == 1) {
System.out.println(result);// 1 大于
}
if (result == 0) {
System.out.println(result);// 0 等于
}
if (result == -1) {
System.out.println(result);// -1 小于
}
boolean flag1 = result > 0; // 大于
boolean flag2 = result < 0; // 小于
boolean flag3 = result == 0;// 等于
boolean flag4 = result >= 0;// 大于等于
boolean flag5 = result <= 0;// 小于等于
System.out.println(flag1);
System.out.println(flag2);
System.out.println(flag3);
System.out.println(flag4);
System.out.println(flag5);