Commit b7f85b735debb383899a701fa88c96506dcd0c6b

Authored by liquanyu
1 parent a06bd9c38e

update code

Showing 1 changed file with 27 additions and 60 deletions

platform-msg-generate/src/main/java/com/lyms/platform/msg/utils/DateUtils.java View file @ b7f85b7
... ... @@ -31,67 +31,13 @@
31 31 public static final String Y_M_D_H_M_S = "yyyy-MM-dd HH:mm:ss";
32 32 public static final String Y_M_D_H_M = "yyyy-MM-dd HH:mm";
33 33  
34   - /** 锁对象 */
35   - private static final Object lockObj = new Object();
36   -
37   - private static Map<String, ThreadLocal<SimpleDateFormat>> formatMap = new HashMap<String, ThreadLocal<SimpleDateFormat>>();
38   -
39   -// private static ThreadLocal<SimpleDateFormat> threadLocal = new ThreadLocal<SimpleDateFormat>(){
40   -// @Override
41   -// protected SimpleDateFormat initialValue() {
42   -// return new SimpleDateFormat(Y_M_D_H_M_S);
43   -// }
44   -// };
45   -
46 34 private static final String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
47 35  
48 36  
49   -// /**
50   -// * 为每个线程创建一个时间格式化实例
51   -// * @param dateFormat
52   -// * @return
53   -// */
54   -// private static SimpleDateFormat getDateFormat(String dateFormat)
55   -// {
56   -// SimpleDateFormat simpleDateFormat = threadLocal.get();
57   -// if (simpleDateFormat == null)
58   -// {
59   -// simpleDateFormat = new SimpleDateFormat(dateFormat);
60   -// threadLocal.set(simpleDateFormat);
61   -// }
62   -// simpleDateFormat.applyPattern(dateFormat);
63   -// return simpleDateFormat;
64   -// }
  37 + private static SimpleDateFormat dateFormat = new SimpleDateFormat(Y_M_D_H_M_S);
65 38  
66 39  
67 40 /**
68   - * 为每个线程创建一个时间格式化实例
69   - * @param dateFormat
70   - * @return
71   - */
72   - private static SimpleDateFormat getDateFormat(final String dateFormat)
73   - {
74   - ThreadLocal<SimpleDateFormat> tl = formatMap.get(dateFormat);
75   - if (tl == null)
76   - {
77   - synchronized (lockObj) {
78   - tl = formatMap.get(dateFormat);
79   - if (tl == null) {
80   - tl = new ThreadLocal<SimpleDateFormat>() {
81   - @Override
82   - protected SimpleDateFormat initialValue() {
83   - return new SimpleDateFormat(dateFormat);
84   - }
85   - };
86   - formatMap.put(dateFormat, tl);
87   - }
88   - }
89   -
90   - }
91   - return tl.get();
92   - }
93   -
94   - /**
95 41 * 获取当前日期是星期几<br>
96 42 *
97 43 * @param dt
98 44  
... ... @@ -126,13 +72,18 @@
126 72 {
127 73 try
128 74 {
129   - return getDateFormat(format).format(date);
  75 + lock.lock();
  76 + dateFormat.applyPattern(format);
  77 + return dateFormat.format(date);
130 78 }
131 79 catch (Exception e)
132 80 {
133 81 logger.error("get date format error.");
134 82 return null;
135 83 }
  84 + finally {
  85 + lock.unlock();
  86 + }
136 87  
137 88 }
138 89  
... ... @@ -145,8 +96,20 @@
145 96 */
146 97 public static Date formatDate(Date date,String format)
147 98 {
148   - String time = getDateFormat(format).format(date);
149   - return preaseDate(time, format);
  99 + try {
  100 + lock.lock();
  101 + dateFormat.applyPattern(format);
  102 + String time =dateFormat.format(date);
  103 + return dateFormat.parse(time);
  104 + }
  105 + catch (Exception e)
  106 + {
  107 + e.printStackTrace();
  108 + }
  109 + finally {
  110 + lock.unlock();
  111 + }
  112 + return null;
150 113 }
151 114  
152 115 /**
153 116  
... ... @@ -159,10 +122,14 @@
159 122 {
160 123 try
161 124 {
162   - Date date = getDateFormat(format).parse(dateStr);
163   - return date;
  125 + lock.lock();
  126 + dateFormat.applyPattern(format);
  127 + return dateFormat.parse(dateStr);
164 128 } catch (ParseException e) {
165 129 e.printStackTrace();
  130 + }
  131 + finally {
  132 + lock.unlock();
166 133 }
167 134 return null;
168 135 }