import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
public class DateUtil extends DateUtils {
private static final ThreadLocal<DateFormats> dateFormats = new ThreadLocal<DateFormats>() {
@Override
protected DateFormats initialValue() {
return new DateFormats();
}
};
public static final int HOUR_MIN = 60;
public static final int DAY_MI_SECOND = 24 * 60 * 60 * 1000;
public static String formatYMD(Date date) {
return dateFormats.get().ymd.format(date);
}
public static String formatYMDDigital(Date date) {
return dateFormats.get().ymdDigital.format(date);
}
public static String formatYMDHMSDigital(Date date) {
return dateFormats.get().ymdhmsDigital.format(date);
}
public static String formatYM(Date date) {
return dateFormats.get().ym.format(date);
}
public static String formatHMS(Date date) {
return dateFormats.get().hms.format(date);
}
public static String formatHM(Date date) {
return dateFormats.get().hm.format(date);
}
public static String formatYMDHM(Date date) {
return dateFormats.get().ymdhm.format(date);
}
public static String formatYMDHMS(Date date) {
return dateFormats.get().ymdhms.format(date);
}
public static String formatYMDChinese(Date date) {
return dateFormats.get().ymdChinese.format(date);
}
public static String formatYMDSlash(Date date) {
return dateFormats.get().ymdSlash.format(date);
}
public static String formatYYYY(Date date) {
return dateFormats.get().yyyy.format(date);
}
public static String formatMMDD(Date date) {
return dateFormats.get().mmdd.format(date);
}
public static Date parseYMD(String dateStr) {
return parse(dateFormats.get().ymd, dateStr);
}
public static Date parseYMDDigital(String dateStr) {
return parse(dateFormats.get().ymdDigital, dateStr);
}
public static Date parseYMDHMSDigital(String dateStr) {
return parse(dateFormats.get().ymdhmsDigital, dateStr);
}
public static Date parseformatYMDChinese(String dateStr) {
return parse(dateFormats.get().ymdChinese, dateStr);
}
public static Date parseYM(String dateStr) {
return parse(dateFormats.get().ym, dateStr);
}
public static Date parseYMDHMS(String dateStr) {
return parse(dateFormats.get().ymdhms, dateStr);
}
public static Date parseYMDHM(String dateStr) {
return parse(dateFormats.get().ymdhm, dateStr);
}
public static Date parseTodayHMS(String dateStr) {
String to