文章目录
- Date类
- SimpleDateFormat类
Date类
Date是JDK提供的类,用来描述时间,使用无参构造创建的对象默认表示系统的当前时间,使用有参构造(指定的毫秒值)表示从时间原点(1970年)过了该参数值的时间
示例:使用无参构造
Date date = new Date();
System.out.println(date);
打印结果:
示例:使用有参构造
Date date = new Date(1000000L);
System.out.println(date);
打印结果:
重要方法
getTime()
:获取时间戳,是一个毫秒值(1970年到当前时间经过的毫秒值),类型为long
类型
Date date = new Date();
long dateL = date.getTime();
System.out.println(dateL);
打印结果:
如何比较时间?
因为日期是一个时间对象,不能直接比较对象,但是可以获取到日期的时间戳,时间戳是一个long时间的数值,可以使用时间戳进行比较
Date date1 = new Date(1000000L);
Date date2 = new Date(2000000L);
System.out.println("date1:"+date1);
System.out.println("date2:"+date2);
long dateL1 = date1.getTime();
long dateL2 = date2.getTime();
if(dateL1 > dateL2){
System.out.println("date1大于date2");//date1在后
}else {
System.out.println("date1小于date2");//date2在后
}
打印结果:
SimpleDateFormat类
SimpleDateFormat类主要有两个作用:
- 格式化:将时间格式化为指定格式(字符串)
- 解析:将字符串表示的时间解析为Date对象
构造方法:
- SimpleDateFormat(),无参构造使用默认格式
- SimpleDateFormat(String pattern),有参构造使用指定格式
常用格式:
y
年,M
月,d
日,H
时,m
分,s
秒
常用方法:
- format(Date date),将日期对象格式化为字符串
- parse(String source),将字符串解析为日期对象
示例:使用无参构造将时间格式化为字符串
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat();
String time = sdf.format(date);
System.out.println(time);
打印结果:
示例:使用有参构造将时间格式化为字符串
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String time = sdf.format(date);
System.out.println(time);
打印结果:
示例:将时间字符串解析为日期对象
String time = "2022-10-8 12:00:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //与字符串时间格式一致
Date date = sdf.parse(time);
System.out.println(date);
打印结果: