BrightSide Workbench Full Report + Source Code
Iso8601DateFormat.java
Go to the documentation of this file.
1 /*
2  * TurrĂ³ i Cutiller Foundation. License notice.
3  * Copyright (C) 2015 Lluis TurrĂ³ Cutiller <http://www.turro.org/>
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU Affero General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU Affero General Public License for more details.
14  *
15  * You should have received a copy of the GNU Affero General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 package org.turro.elephant.calendar;
20 
21 import java.text.DateFormat;
22 import java.text.ParseException;
23 import java.text.SimpleDateFormat;
24 import java.util.Date;
25 import java.util.logging.Level;
26 import java.util.logging.Logger;
27 import org.turro.elephant.context.ElephantContext;
28 
33 public class Iso8601DateFormat {
34 
35  private static ThreadLocal<DateFormat> dateFormat = new ThreadLocal<DateFormat>() {
36  @Override
37  protected DateFormat initialValue() {
38  return new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
39  }
40  };
41 
42  public static String getString(Date date) {
43  return dateFormat.get().format(date);
44  }
45 
46  public static Date getDate(String date) {
47  try {
48  return dateFormat.get().parse(date);
49  } catch (ParseException ex) {
50  Logger.getLogger(Iso8601DateFormat.class.getName()).log(Level.SEVERE, ElephantContext.logMsg(date), ex);
51  return null;
52  }
53  }
54 
55  private Iso8601DateFormat() {
56  }
57 
58 }