Date类的常见用法——JavaSE基础
Date类的常见用法
Date类属于java.util
包
因此需要导入Date类
-
Date() 分配一个Date对象,并初始化此对象为系统当前的日期和时间,可以精确到毫秒)。
-
Date(long date) 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
-
boolean after(Date when)
测试此日期是否在指定日期之后。 -
booleanbefore(Date when)
测试此日期是否在指定日期之前。 -
boolean equals(Object obj)
比较两个日期的相等性。 -
long getTime()
返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 -
String toString()
把此 Date 对象转换为以下形式的 String:dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun、 Mon、Tue、Wed、 Thu、 Fri、 Sat)。
import java.util.Date;
public class Demo04 {
public static void main(String[] args) {
Date date1 = new Date();
System.out.println(date1);
System.out.println(date1.toString());
long i = date1.getTime();
Date date2 = new Date(i-1000);
Date date3 = new Date(i+1000);
Date date4 = new Date(1000); // 生成一个基准时间之后n ms的时间,这里是基准后1000ms
System.out.println(date4); // 输出基准时间后1000ms的时刻
System.out.println(date1.after(date2)); // 判断date1是否是在date2之后的时间
System.out.println(date1.before(date2)); // 判断date1是否是在date2之前的时间
System.out.println(date1.equals(date2)); // 判断date1是否和date2相等
System.out.println(date1.after(date3));
System.out.println(date1.before(date3));
System.out.println(date1.equals(date3));
System.out.println(date1.equals(date1)); // 测试date1是否和其本身相等
}
}
运行结果
Mon Jun 28 16:20:51 CST 2021
Mon Jun 28 16:20:51 CST 2021
Thu Jan 01 08:00:01 CST 1970
true
false
false
false
true
false
true
DateFormat与SimpleDateFormat
SimpleDateFormat是对抽象类DateFormat的实现
这个类主要用于对Date类型进行格式化
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo05 {
public static void main(String[] args) throws ParseException {
// new出SimpleDateFormat对象
SimpleDateFormat s1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); // 规定格式为年-月-日 时:分:秒
SimpleDateFormat s2 = new SimpleDateFormat("yyyy-MM-dd"); // 规定格式为年-月-日
// 将时间对象转换成字符串
String daytime = s1.format(new Date());
System.out.println(daytime); // 输出年月日时分秒
System.out.println(s2.format(new Date())); // 输出年月日
System.out.println(new SimpleDateFormat("hh:mm:ss").format(new Date())); // 只输出时分秒
// 将符合指定格式的字符串转成成时间对象.字符串格式需要和指定格式一致。
String time = "2007-10-7";
Date date = s2.parse(time); // 使用s2规定格式将String类型解析并转换为Date类型
System.out.println("date1: " + date); // 输出
time = "2007-10-7 20:15:30";
date = s1.parse(time); // 使用s1规定格式将String类型解析并转换为Date类型
System.out.println("date2: " + date);
}
}
运行结果
2021-06-28 04:16:33
2021-06-28
04:16:33
date1: Sun Oct 07 00:00:00 CST 2007
date2: Sun Oct 07 20:15:30 CST 2007