一、java.util.Date日期类
1.构造方法
构造方法名 | 备注 |
---|---|
Date() | 获取当前系统时间 |
Date(long date) |
二、java.text.SimpleDateFormat日期格式化类
1.构造方法
构造方法名 | 备注 |
---|---|
SimpleDateFormat() | |
SimpleDateFormat(String pattern) | pattern为日期格式 |
2.方法
方法名 | 作用 |
---|---|
String format(Date date) | 将Date转成相应格式的日期 |
Date parse(String source) | 将String转成Date类性 |
3.时间日期模式
字母 | 日期元素 |
---|---|
yyyy | 年 |
MM | 月 |
dd | 日 |
HH | 时 |
mm | 分 |
ss | 秒 |
SSS | 毫秒 |
三、日期间的转换
1.获取当前时间
class DateTest{
public static void main(String[] args) throws ParseException {
// 获取系统当前时间(精确到毫秒的系统当前时间)
// 直接调用无参数构造方法就行。
Date d = new Date();
System.out.println(d);//Sat May 01 21:25:05 CST 2021
}
}
2.Date —> String
class DateTest{
public static void main(String[] args) throws ParseException {
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = sdf.format(d);
System.out.println(time);//2021-05-01 21:25:05
}
}
3.String —> Date
class DateTest{
public static void main(String[] args) throws ParseException {
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = "2020-08-08 15:31:11";
Date time= sdf.parse(s);
System.out.println(time);//Sat Aug 08 15:31:11 CST 2020
}
}
4.获取自1970年1月1日 00:00:00 000到当前系统时间的总毫秒数
System.currentTimeMillis()
一般可以用来统计程序运行时间
5、java.util.Date第二个构造方法
eg.
public class DateTest {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 获取昨天的此时的时间。
Date time2 = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24);
String strTime2 = sdf.format(time2);
System.out.println(strTime2); //2021-04-30 21:35:29 027
// 获取“去年的今天”的时间
Date time3 = new Date(System.currentTimeMillis() - 1000L * 60 * 60 * 24 * 365);
String strTime3 = sdf.format(time3);
System.out.println(strTime3);//2020-05-01 21:35:29 028
}
}
注意: 1000 * 60 * 60 * 24 * 365
超出int范围了,需要转换成long运算(详见数据类型1.7.6)