Here you can find the source of getTimeStringOfHourBefore(int hour)
public static String getTimeStringOfHourBefore(int hour)
//package com.java2s; //License from project: Apache License import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.Map; public class Main { private static final Map<String, ThreadLocal<SimpleDateFormat>> timestampFormatPool = new HashMap<String, ThreadLocal<SimpleDateFormat>>(); private static final Object timestampFormatLock = new Object(); private static String timestampPattern = "yyyy-MM-dd HH:mm:ss"; public static String getTimeStringOfHourBefore(int hour) { final Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); calendar.add(Calendar.HOUR, hour * -1); return getTimestampFormat().format(calendar.getTime()); }//from w w w . j a va 2 s. c om private static SimpleDateFormat getTimestampFormat() { ThreadLocal<SimpleDateFormat> tl = timestampFormatPool.get(timestampPattern); if (null == tl) { synchronized (timestampFormatLock) { tl = timestampFormatPool.get(timestampPattern); if (null == tl) { tl = new ThreadLocal<SimpleDateFormat>() { @Override protected synchronized SimpleDateFormat initialValue() { return new SimpleDateFormat(timestampPattern); } }; timestampFormatPool.put(timestampPattern, tl); } } } return tl.get(); } public static Date getTime(final int day) { return getTime(new Date(), day); } public static Date getTime(final Date date, final int day) { final Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) + day); return calendar.getTime(); } }