Java中的日期类设计的比较失败,刚开始使用Date来计算时间,后来大部分Date类的方法都过时了;想用Calendar类代替Date类,然而Calendar类也是不尽如人意。下面简单介绍下Java中的日期转换方法。
这里讲到了两个类,一个是日期一个是格式化类,主要演示如何使用:
-
日期
日期相关的操作:
Date类
格式化时间日期的对象
SimpleDateFormat在jdk8之后,系统不再推荐使用这些类
如上的的日期和时间处理类都是非线程安全类,在早期没有高并发的情况可以正常使用。
高并发的情况下,使用这些类,都会出现非线程安全问题!!!!
JDK8 新的时间API
|-- LocalDate
|-- LocalTime
|-- LocatDateTime
|-- DateTimeFormatter
|-- Instant
1、Date类
首先我们先来看一段代码
这段代码的结果是:
其中第一个参数表示:1970-01-01 00:00:00到指定时间的毫秒数
第二个表示:当前时间二、使用DateFormat类的子类(SimpleDateFormat类)表示
这是用dateformat来实现时间的
三、Calendar类
对于时间类我们直接看代码怎么使用
用localtime得到的结果如代码所示
这是localDatetime的使用
最后这是instant类
2. 格式化类
格式化类
Format的直接子类包括DateFormat、NumberFormat和MessageFormat。下面一一进行介绍
上面已经使用过了DateFormat
下面介绍后面两种格式化的类
NumberFormat
其中DecimalFormat又是NumberFormat的一个子类,代码展示如上↑
MessageFormat
对消息的格式化
MessageFormat用来格式化一个消息,通常是一个字符串。
这是MessageFormat的用法↑
用代码展示更为直观一点