JAVA中对日期时间的操作
程序员文章站
2024-01-22 19:39:34
...
JAVA中对日期时间的操作
- 调用java.util.Date类,使用Date无参构造方法获取系统时间
//使用Date无参构造方法获取系统时间
Date nowadays = new Date();
System.out.println(nowadays);
//运行结果:
Sat Jun 27 22:59:43 CST 2020
- 时间数据类型的转换:Date ——> String
- 调用java.text.SimpleDateFormat类下的 format方法 ,来修改时间格式
//修改日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/*
pattern:日期格式
yyyy 年(年是四位)
MM 月(月是两位)
dd 日(日是两位)
HH 小时
mm 分
ss 秒
SSS 毫秒
*/
//类型转换 Date ——> String
String s = sdf.format(nowadays);
System.out.println(s);
//运行结果:
2020-06-27 22:59:43
- String ——> Date
//将String类型日期 转换为Date类型
String time = "2011-11-11 11:11:11";
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//类型转换 String ——> Date
Date dateTime = sdf2.parse(time); //抛出异常,暂时没学
System.out.println(dateTime);
//运行结果:
Fri Nov 11 11:11:11 CST 2011
- 使用System.currentTimeMillis()方法获取从 1970-01-01 00:00:00 到现在的毫秒值 ,但中国是东八区,所以从1970-01-01 08:00:00开始记起,常用于测试方法运行时间等。
//输出从 1970-00-00 00:00:00 到现在的毫秒值
long begin = System.currentTimeMillis();
print();
long end = System.currentTimeMillis();
System.out.println("运行print方法耗时:" + (end - begin) + "毫秒");
}
public static void print(){
for (int i = 0; i < 1000; i++) {
System.out.println(i);
}
}
//运行结果:
0
...
999
运行print方法耗时:17毫秒
- 使用Date有参构造方法创建Date对象
//使用Date有参构造方法创建Date对象
Date date = new Date(20); //参数为long型,表示毫秒数
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
String s2 = sdf3.format(date);
//因为中国是东八区,比格林威治时间快8小时
System.out.println(s2); //1970-01-01 08:00:00 020 020表示构造方法中的形参20
- 应用:获取昨天的此时的时间:
Date nowTime = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24);
SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
String s3 = sdf4.format(nowTime);
System.out.println(s3);
- 总结下学过的System类的相关属性与方法:
System.out 【out是System类的静态变量】
System.out.println() 【println()方法不是System类的,是PrintStream类的方法】
System.gc() 【建议启动垃圾回收器】
System.currentTimeMillis() 【获取自1970-01-01到系统当前时间的总毫秒数】
System.exit(0) 【退出JVM】