关于日期类、数字类、枚举类(学习笔记)
- 在java.util 包下有一个Date类,是Java种对日期的处理。
Date的无参构造方法可以直接获取系统当前的时间,精确到毫秒:
可见,Date类以及对toString()方法进行了重写。 - 但是上图中输出的结果的格式并不能让我们满意,是否有方法能将日期按照指定结果转换呢? 这个时候我们可以引入在java.text 包下的SimpleDateFormat类,是专门负责日期格式化的,可以将日期转换成一定格式的字符串:
yyyy 年(年是4位)
MM 月(月是2位)
dd 日
HH 时
mm 分
ss 秒
SSS 毫秒(毫秒3位,满1000进1)
如上,在SimpleDateFormat的构造方法中传入相应格式,在利用format() 方法就可以将Date类转换成一定格式的String类,从而使输出的结果得到我们的满意。
- 假设有一个日期字符串String,怎么转换成Date类型?
- 获取自1970年1月1日 00:00:00 000到目前位置系统时间的总毫秒数。
我们需要用到System.currentTimeMillis()方法。
这个方法可以有很多妙用,比如统计一个方法的执行时长: - Date类还有一个有参构造方法,可以传入自1970年1月1日 00:00:00 000开始的毫秒数,来获取相应时间。
以上时间就是从1970年1月1日 08:00:00 000开始1毫秒后的时间,传入的参数就是经过的时间毫秒数。至于为什么是8点中,因为北京时间早8个小时。
这个方法可以用来获取任意时候的时间,比如获取昨天此时的时间: