这个记得导包java.util.Date,只有在java.lang包下的类才不用导入
目录
目录
1.2 日期格式化 java.text.SimpleDateFormat
1.4 获取自1970年1月1日 00:00:00 000到当前系统时间的总毫秒数
回顾System类的相关属性和方法
System.out 其中out是System类的静态变量
System.out.println() 其中println() 方法不是System类的,是PrintStream类的方法,后面会学
System.gc() 建议其中垃圾回收器
System.currentTimeMillis() 获取自1970年1月1日 00:00:00 000到当前系统时间的总毫秒数
System.exit(0) 退出JVM
一、Date常用方法
1.1直接调用无参构造方法创建Date对象
Date date = new Date();
System.out.println(date);
输出这个对象的时候,一定会调用这个对象的toString方法,底层已经帮我们重写了 ,但是这个不符合我们的习惯,我们下面会对这一条消息进一步的修改
CST是一个国际标准时间
1.2 日期格式化 java.text.SimpleDateFormat
将Date转化成一定格式的、我们常用的形式
Date date = new Date();
// java.text包下,专门日期格式化
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
String s= sdf.format(date);
System.out.println(s);
1.3 日期字符串String转换成Date类型
我们在调用parse的时候,会有一个异常,处理一下就好了
假如大家出现这种异常的话,就是在SimpleDateFormat构造方法中填写的格式与字符串time不匹配所造成的,记得检查一下,然后重新运行项目
1.4 获取自1970年1月1日 00:00:00 000到当前系统时间的总毫秒数
1秒=1000毫秒
这个方法是一个静态方法,我们使用类名调用的,获取自1970年1月1日 00:00:00 000到当前系统时间的总毫秒数
System.currentTimeMillis();
如果是变相输出的话,我们可以选择long类型,选择int类型的话可能会超出int的范围
下图就是源码中的静态方法
我们可以输出一下看一下,结果很大
System.out.println(System.currentTimeMillis());
这个方法有什么作用?
统计一个方法的执行时长,在方法调用之前记录一个毫秒数,在执行完目标方法之后再记录一个毫秒数,两个时间相减,就是我们这个方法所耗费的时长,我们可以对耗时长的方法进行优化代码逻辑
1.5 通过毫秒构造Date对象
参数是自1970年1月1日 00:00:00 000到当前系统时间的总毫秒数
下面这个代码代表的就是 1970年1月1日 00:00:00 001
Date time = new Date(1);
Date time = new Date(1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
String s= sdf.format(time);
System.out.println(s);
但是我们输出的为什么是8点呢?
因为我们使用的是东八区的时间,这个一定要注意
二、LocalDateTime的使用
// 得到2022年一月一号0时0分0秒这个时间
LocalDateTime time = LocalDateTime.of(2022, 1, 1, 0, 0, 0);
// 得到一个秒数 ZoneOffset.UTC是一个时间戳
long second =time.toEpochSecond(ZoneOffset.UTC);