Java 时间格式化
Java 时间格式化
业务: 需要对时间戳格式的数据进行转化为固定时间格式的数据。
simpleDateFormat 在多线程情况下不安全,而且 joda_time 还支持格式化的时间加减算法,所以推荐使用 joda_time
SimpleDateFormat
SimpleDateFormat 是 Java 中非常常用的一个类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多线程环境下调用 format() 和 parse() 方法应该使用同步代码来避免问题。
1 | SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DATE_FORMAT); |
- 对于 SimpleDateFormat 非线程安全的解决– 可用 threadlocal
将 SimpleDateFormat 维护在线程的本地变量中,就不会发生线程安全问题了,不过会有耗费资源的问题
1 | private static ThreadLocal<SimpleDateFormat> formatThreadlocal; |
joda_time
1 | new DateTime(System.currentTimeMillis()).toString(DATE_FORMAT); |
本文作者 : 对六
原文链接 : http://duiliuliu.github.io/2019/01/15/Java时间格式化/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
你我共勉!