import java.lang.management.ManagementFactory;
import java.text.ParseException;
import java.util.Date;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.util.Assert;
public class YcsDateUtils extends org.apache.commons.lang3.time.DateUtils {
public static String YYYYMMDD = "yyyyMMdd";
public static String YYYY_MM_DD = "yyyy-MM-dd";
public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
private static String[] parsePatterns = {
"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM",
"yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",
"yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};
public static String getNowDate() {
return parseDateToStr(YYYY_MM_DD, new Date());
}
public static String getNowTime() {
return parseDateToStr(YYYY_MM_DD_HH_MM_SS, new Date());
}
public static String getDate(final Date date) {
return parseDateToStr(YYYY_MM_DD, date);
}
public static String getTime(final Date date) {
return parseDateToStr(YYYY_MM_DD, date);
}
private static String parseDateToStr(final String format, final Date date) {
return DateFormatUtils.format(date, format);
}
public static long currentTime() {
return System.currentTimeMillis();
}
public static String parseTimeStampToStr(final long timeStamp) {
return DateFormatUtils.format(timeStamp, YYYY_MM_DD_HH_MM_SS);
}
public static String getYyyyMmDd(final Date date) {
return DateFormatUtils.format(date, YYYYMMDD);
}
public static Date parseDate(String str) {
Assert.isTrue(str != null, "参数错误!");
try {
return parseDate(str, parsePatterns);
} catch (ParseException e) {
throw new RuntimeException("无法将字符串解析成日期, str = " + str + "\n" + e);
}
}
public static Date getServerStartDate() {
long time = ManagementFactory.getRuntimeMXBean().getStartTime();
return new Date(time);
}
public static String getDatePoor(Date endDate, Date nowDate) {
long nd = 1000 * 24 * 60 * 60;
long nh = 1000 * 60 * 60;
long nm = 1000 * 60;
long diff = endDate.getTime() - nowDate.getTime();
long day = diff / nd;
long hour = diff % nd / nh;
long min = diff % nd % nh / nm;
return day + "天" + hour + "小时" + min + "分钟";
}
}