Here you can find the source of getToday()
public static String getToday()
//package com.java2s; //License from project: Apache License import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; public class Main { private static final Object lock = new Object(); private static Map<String, ThreadLocal<SimpleDateFormat>> localThreadMap = new HashMap<String, ThreadLocal<SimpleDateFormat>>(); public final static String PATTERN_YYYYMMDD = "yyyy-MM-dd"; public static String getToday() { return toString(new Date(), PATTERN_YYYYMMDD); }/*from ww w. j a v a2s .co m*/ public static String toString(Date source, String formater) { SimpleDateFormat format = getDateFormat(formater); return format.format(source); } public static SimpleDateFormat getDateFormat(final String pattern) { ThreadLocal<SimpleDateFormat> threadLoacl = localThreadMap.get(pattern); if (threadLoacl == null) { synchronized (lock) { threadLoacl = localThreadMap.get(pattern); if (threadLoacl == null) { threadLoacl = new ThreadLocal<SimpleDateFormat>() { @Override protected SimpleDateFormat initialValue() { return new SimpleDateFormat(pattern); } }; localThreadMap.put(pattern, threadLoacl); } } } return threadLoacl.get(); } }