1. Date类
1.1构造方法
(1)确定现在时间
new Date()
Date date = new Date();//Tue Jan 14 13:50:43 CST 2020
System.out.println(date);
可以看出,时间格式不符合我们需要。
(2)计算时间间隔
格式:
new Date(long milliseconds 计算距离北京时间原点(1970-01-01 08:00:00)的目标毫秒后的时间。
时间原点为1970-01-01 00:00:00,我国以东八区北京时间为准,故需要加上8小时。
Date date = new Date(1000L);
System.out.println(date);//Thu Jan 01 08:00:01 CST 1970
1.2成员方法
getTime() 获取从1970-01-01 08:00:00到目标时间的毫秒数。
Date date = new Date();
System.out.println(date);//Tue Jan 14 14:22:53 CST 2020
System.out.println(date.getTime());//1578982973517
System.out.println(System.currentTimeMillis());//同上
2. SimpleDateFormat类
此类的目的是自定义时间的显示格式,使之变成我们熟悉和习惯的使用格式。
2.1构造方法
new SimpleDateFormat(Sting pattern)
pattern就是显示格式。
指定的格式包括:
y ---------------------------年
M --------------------------月
d ---------------------------日
H ---------------------------时
m --------------------------分
s ---------------------------秒
注意事项:
1.模式中字母不能改变;
2.连接符号可以改变;“-” ":"换成年,月,日也可以。
2.2成员方法
SimpleDateFormat的父类DateFormat有两个抽象方法,故而需要实现。
(1)date------>文本 使用format
String format(Date date) 按照指定格式,把Date日期格式化为符合格式的字符串。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
System.out.println(sdf.format(date));//2020-01-14 14:34:42
最常用的三句代码sdf。
(2)文本------>date 使用parse
Date parse(String) 按照指定格式,把符合格式的字符串文本解析为Date日期。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse("2020-02-01 00:00:00");
System.out.println(date.toString());//Sat Feb 01 00:00:00 CST 2020