SimpleDateFormat线程不安全及解决方案及LocalDate和Date的相互转换/获取一段时间内的所有日期

本文详细阐述了SimpleDateFormat在多线程环境下的不安全性,并提供了ThreadLocal和Java 8新特性的解决方案。同时介绍了LocalDate与Date之间的转换方法,以及如何使用Java 8的DateTimeFormatter进行日期格式化和解析。


原文链接:SimpleDateFormat线程不安全及解决方案及LocalDate和Date的相互转换/获取一段时间内的所有日期 – 编程屋

目录

1 simpleDateFormat的用法

 2 SimpleDateFormat类的线程不安全问题

 3 SimpleDateFormat线程不安全原因

 4 如何解决线程不安全问题

5 LocalDate和Date的相互转换

6.Java8中的解析和格式化 

7 获取一段时间内的所有日期


1 simpleDateFormat的用法

        simpleDateFormat是Java提供的一个格式化和解析日期的工具类。它可以进行格式化(日期->文本),解析(文本->日期)和规范化。

        我们可以使用SimpleDateFormat方法中的format方法将data类转为String类型,并转为我们想要的格式

 我们也可以使用SimpleDateFormat方法中的parse方法中的将String类型转为data类型

 2 SimpleDateFormat类的线程不安全问题

        在Java1.8没出来之前,我们可能对SimpleDateFormat类使用的较多,但是SimpleDateFormat在多线程环境下是不安全的

 如图所示,在多线程环境下,使用SimpleDateFormat类是有线程安全问题的

 3 SimpleDateFormat线程不安全原因

        因为SimpleDateFoemat类继承了DateFormat,而DateFormat类中定义了一个成员变量calendar。我们的SimpleDateFormat类中的parse和format方法都用到了calendar

 <

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值