`
sdu_wizard
  • 浏览: 99697 次
  • 性别: Icon_minigender_1
  • 来自: 亚特兰蒂斯
社区版块
存档分类
最新评论

SimpleDateFormat问题及解决方案

    博客分类:
  • java
阅读更多

    java.text.SimpleDateFormat是非线程安全的,所以,如果一个SimpleDateFormat对象作为类成员或者类的静态成员在多线程环境下被调用时,会出现“时间错乱”的现象。

替代方案:

1.每次使用SimpleDateFormat前都new一个新对象,这个做法的缺点是效率较低;

    2.使用apache的commons-lang包下的FastDateFormat,代码如下:

FastDateFormat fdfWithoutTime=FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss",TimeZone.getDefault(), Locale.getDefault());

String time=fdfWithoutTime.format(new Date());

(很不幸的是FastDateFormat只能进行format不能进行parse,据说有个叫JodaTime的库比较好用,木有用过)

 

0
0
分享到:
评论

相关推荐

    高并发之-SimpleDateFormat类的线程安全问题和解决方案.docx

    SimpleDateFormat类的线程安全问题和解决方案 SimpleDateFormat类的线程安全问题 SimpleDateFormat类是Java提供的日期时间转化类,用于将日期和时间类型的数据进行解析和格式化。在Java开发中,SimpleDateFormat类...

    关于SimpleDateFormat的非线程安全问题及其解决方案.docx

    ### 关于SimpleDateFormat的非线程安全问题及其解决方案 #### 一、问题介绍 在Java开发过程中,`SimpleDateFormat`是被广泛使用的日期格式化工具类。然而,在多线程环境下,`SimpleDateFormat`存在非线程安全的...

    ThreadLocal:如何优雅的解决SimpleDateFormat多线程安全问题

    目录SimpleDateFormat诡异bug复现SimpleDateFormat诡异bug字符串日期转Date日期(parse)Date日期转String类型(format)SimpleDateFormat出现bug的原因如何解决SimpleDateFormat多线程安全问题局部变量使用...

    simpleDateFormat是线程不安全的

    分析这个文件可以帮助我们更好地理解线程安全问题的实际表现和解决方案。 总的来说,理解`SimpleDateFormat`的线程不安全性质是Java开发中的一项重要知识,特别是在设计高并发系统时。开发者应当根据具体需求选择...

    详解SimpleDateFormat的线程安全问题与解决方案

    本文将深入探讨`SimpleDateFormat`的线程安全问题及其解决方案。 ### 1. 线程安全问题的原因 `SimpleDateFormat`内部维护了一个`Calendar`对象,用于处理日期和时间的解析与格式化。由于`SimpleDateFormat`不是...

    深入理解Java:SimpleDateFormat安全的时间格式化

    为了解决SimpleDateFormat非线程安全性的问题,可以使用同步代码来避免问题。例如,可以使用synchronized关键字来同步访问SimpleDateFormat实例,也可以使用ThreadLocal变量来保存每个线程的SimpleDateFormat实例。 ...

    SimpleDateFormat线程不安全的5种解决方案.docx

    nable() { @Override public void run() { // 定义局部变量 SimpleDateFormat SimpleDateFormat simpleDateFormat = new ...根据实际应用场景,可以选择适合的解决方案以确保线程安全并提高程序的并发性能。

    SimpleDateFormat线程不安全的5种解决方案.md

    SimpleDateFormat线程不安全的5种解决方案.md

    Java在并发环境中SimpleDateFormat多种解决方案

    Java在并发环境中SimpleDateFormat多种解决方案 Java在并发环境中使用SimpleDateFormat时,可能会遇到线程安全问题。下面将介绍六种解决方案来解决这个问题。 方法一:使用局部变量 在需要执行格式化的地方都新建...

    Java多线程环境下SimpleDateFormat类安全转换

    "Java多线程环境下SimpleDateFormat类安全转换" 在Java多线程环境下,SimpleDateFormat类的使用可能会出现线程安全...在实际应用中,我们需要根据实际情况选择合适的解决方案,以确保SimpleDateFormat类的安全转换。

    基于java时区转换夏令时的问题及解决方法

    "基于Java时区转换夏令时的问题及解决方法" 在Java中进行时区转换时,需要了解夏令时的概念和时区的表示方法。夏令时是指在夏天的时候,将时钟拨快一个小时,以提早日光的使用。目前有110多个国家采用夏令时。 ...

    java代码-SimpleDateFormat YYYY显示问题

    在Java编程语言中,`SimpleDateFormat` 是一个非常重要的日期时间格式化类,它允许我们按照自定义的格式来解析和格式化日期。...如果你能提供这些文件的详细信息,我将能够更具体地分析问题并给出解决方案。

    Java SimpleDateFormat线程安全问题原理详解

    在实际开发中,我们可以根据需要选择合适的解决方案。如果需要在多线程环境下使用SimpleDateFormat,可以使用ThreadLocal或FastDateFormat确保线程安全。 Java SimpleDateFormat线程安全问题是Java开发中一个常见的...

    json显示日期带T问题的解决方法.docx

    就像描述中提到的解决方案,我们可以在Java中使用注解`@JSON(format="yyyy-MM-dd HH:mm:ss")`来自定义日期格式。这个注解来自某些JSON库,如Fastjson、Jackson等,它告诉库如何序列化或反序列化日期字段。例如,...

    SimpleDateFormate格式说明.txt

    3. **时区问题**:默认情况下,`SimpleDateFormat`使用本地时区,如果需要处理不同时区的数据,可以通过设置时区来解决。 通过以上介绍,我们可以看到`SimpleDateFormat`提供了非常灵活的方式来处理日期和时间的...

    由夏令时间所引起的时间差的解决方法

    ### 由夏令时间所引起的时间差的解决方法 在软件开发过程中,处理不同时区的时间数据时常常会遇到各种问题,尤其是涉及到夏令时调整的情况。本文将深入探讨由夏令时间变化所引起的时间差问题及其解决方案,并通过...

    Angularjs中date过滤器失效的问题及解决方法

    本文将深入探讨这个问题及其解决方案。 首先,我们需要理解AngularJS中的`date`过滤器工作原理。当我们在模板中使用`{{ value | date : format }}`时,`value`应该是一个JavaScript的Date对象或者是毫秒时间戳。`...

    Java ThreadLocal 线程安全问题解决方案

    另一种解决方法是使用`synchronized`关键字来控制对共享资源的访问。在`DateSyncUtil`类中,我们对`SimpleDateFormat`实例上的`formatDate()`和`parse()`方法添加了同步锁,确保在同一时刻只有一个线程能执行这些...

Global site tag (gtag.js) - Google Analytics