先来说说Java各种DateFormat的使用
SimpleDateFormat
new SimpleDateFormat("yyyyMMdd HH:mm:ss").format(new Date());
LocalDateTime(jdk8)
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss"));
DateFormatUtils(commons.lang3)
DateFormatUtils.format(new Date(), "yyyyMMdd HH:mm:ss");
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>
org.joda.time.DateTime
DateTime.now().toString("yyyyMMdd HH:mm:ss");
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.2</version>
</dependency>
JMH微机准测试
JMH微机准测试框架不清楚的可以自行Google此次测试环境:本机cpu i7 2.6GHz
方式 | 吞吐ops/s |
---|---|
SimpleDateFormat | 811176 |
DateTime(joda) | 3677864 |
DateFormatUtils(commons-lang3) | 2684990 |
LocalDateTime(jdk8) | 1366451 |
测试结论
SimpleDateFormat性能最差,但是,平常我们不注意,却用得最多!
Joda对于当前时间的字符格式化性能最好,
DateFormatUtils其次。
但是对于指定时间进行格式化,Joda并不支持,所以功能有其局限性。
相比而言,DateFormatUtils功能相对丰富,静态方法使用简单,也是线程安全,可以说是我们编码时的第一选择。
以后,格式时间的时候,
请多使用DateFormatUtils (commons.lang3)。
觉得这篇文章对你有用,就请您点赞分享收藏,顺路点"在看"呗!我们下期再会!
作者:关捷
链接:https://www.jianshu.com/p/31dd1915e606
来源:简书