SimpleDateFormat在代码中的安全使用

版权声明:本文为博主原创文章,未经博主允许不得转载。学习交流QQ群: 173124648 https://blog.csdn.net/u013126379/article/details/86407307

好久没有记录了,今天来记录下工作中的一些细节问题。

工作中经常用到SimpleDateFormat,但是大部分人可能都会按照下面的格式去使用

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

上面的方式在我们看来一般是不会出现什么问题,如果出现在多线程的情况下,它就会有问题。因为SimpleDateFormat是线程不安全的类。如果要保证SimpleDateFormat线程的安全性就要使用下面的方式使用:

public class DateUtils {

    private static final ThreadLocal<DateFormat> df = new ThreadLocal<DateFormat>(){
        @Override
        protected DateFormat initialValue() {
            return new SimpleDateFormat("yyy-MM-dd");
        }
    };

    public static void main(String[] args) {
        DateFormat dateFormat = df.get();
        dateFormat.format(new Date());
        System.out.println(dateFormat);
    }
}

猜你喜欢

转载自blog.csdn.net/u013126379/article/details/86407307
今日推荐