package com.tanlu.user.util;

 import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; /**
* 考虑到SimpleDateFormat为线程不安全对象,故应用ThreadLocal来解决,
* 使SimpleDateFormat从独享变量变成单个线程变量
*/
public class ThreadLocalDateUtil { //写法1:
/*private static ThreadLocal<DateFormat> threadLocal = new ThreadLocal<DateFormat>() {
@Override
protected DateFormat initialValue() {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
}
}; public static Date parse(String dateStr) throws ParseException {
return threadLocal.get().parse(dateStr);
} public static String format(Date date) {
return threadLocal.get().format(date);
}*/ //写法2:
private static final String date_format = "yyyy-MM-dd HH:mm:ss";
private static ThreadLocal<DateFormat> threadLocal = new ThreadLocal<DateFormat>(); public static DateFormat getDateFormat() {
DateFormat df = threadLocal.get();
if(df == null){
df = new SimpleDateFormat(date_format);
threadLocal.set(df);
}
return df;
} public static String formatDate(Date date) throws ParseException {
return getDateFormat().format(date);
} public static Date parse(String strDate) throws ParseException {
return getDateFormat().parse(strDate);
} }

最新文章

  1. java从基础知识(七)java集合
  2. java类加载相关
  3. 一个端口操作类PortHelper
  4. 1106. Two Teams(dfs 染色)
  5. asp.net MVC 使用JQuery.Ajax
  6. kafka解释三的具体:发展Kafka应用
  7. [leetcode-582-Kill Process]
  8. String,StringBuffer,StringBuilder的区别
  9. myeclipse项目在Tomcat服务器部署问题
  10. JAVA面试精选【Java基础第二部分】
  11. HDU4607(求树中的最长链)
  12. SpringBoot------8080端口被占用抛出异常
  13. QT 菜单资源设置
  14. 【四校联考】【比赛题解】FJ NOIP 四校联考 2017 Round 7
  15. BZOJ 1834--网络扩容(最大流&amp;费用流)
  16. java编写银行管理 。ATM管理
  17. Nginx学习.md
  18. linux 系统下配置java环境变量
  19. Flask的配置文件
  20. maxsigma

热门文章

  1. NSA互联网公开情报收集指南:迷宫中的秘密&#183;上
  2. jQuery中$.getJSON
  3. mysql文件系统
  4. IE下png图片黑边问题
  5. scikit-learning教程(二)统计学习科学数据处理的教程
  6. asp.net 线程批量导入数据,ajax获取执行状态
  7. git分支提交管理
  8. Redis学习笔记1-安装配置
  9. mac自带终端安装完ohmyZsh后显示乱码
  10. laravel核心思想