mirror of
https://github.com/201206030/novel-plus.git
synced 2025-07-01 15:26:37 +00:00
95 lines
2.5 KiB
Java
95 lines
2.5 KiB
Java
package com.java2nb.common.utils;
|
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Date;
|
|
|
|
/**
|
|
* 日期处理
|
|
*/
|
|
public class DateUtils {
|
|
private final static Logger logger = LoggerFactory.getLogger(DateUtils.class);
|
|
public final static String YEAR_PATTERN = "yyyy";
|
|
public final static String MONTH_PATTERN = "MM";
|
|
public final static String DAY_PATTERN = "dd";
|
|
/**
|
|
* 时间格式(yyyy-MM-dd)
|
|
*/
|
|
public final static String DATE_PATTERN = "yyyy-MM-dd";
|
|
/**
|
|
* 时间格式(yyyy-MM-dd HH:mm:ss)
|
|
*/
|
|
public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
|
|
|
|
public static String format(Date date) {
|
|
return format(date, DATE_PATTERN);
|
|
}
|
|
|
|
public static String format(Date date, String pattern) {
|
|
if (date != null) {
|
|
SimpleDateFormat df = new SimpleDateFormat(pattern);
|
|
return df.format(date);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/**
|
|
* 计算距离现在多久,非精确
|
|
*
|
|
* @param date
|
|
* @return
|
|
*/
|
|
public static String getTimeBefore(Date date) {
|
|
Date now = new Date();
|
|
long l = now.getTime() - date.getTime();
|
|
long day = l / (24 * 60 * 60 * 1000);
|
|
long hour = (l / (60 * 60 * 1000) - day * 24);
|
|
long min = ((l / (60 * 1000)) - day * 24 * 60 - hour * 60);
|
|
long s = (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
|
|
String r = "";
|
|
if (day > 0) {
|
|
r += day + "天";
|
|
} else if (hour > 0) {
|
|
r += hour + "小时";
|
|
} else if (min > 0) {
|
|
r += min + "分";
|
|
} else if (s > 0) {
|
|
r += s + "秒";
|
|
}
|
|
r += "前";
|
|
return r;
|
|
}
|
|
|
|
/**
|
|
* 计算距离现在多久,精确
|
|
*
|
|
* @param date
|
|
* @return
|
|
*/
|
|
public static String getTimeBeforeAccurate(Date date) {
|
|
Date now = new Date();
|
|
long l = now.getTime() - date.getTime();
|
|
long day = l / (24 * 60 * 60 * 1000);
|
|
long hour = (l / (60 * 60 * 1000) - day * 24);
|
|
long min = ((l / (60 * 1000)) - day * 24 * 60 - hour * 60);
|
|
long s = (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
|
|
String r = "";
|
|
if (day > 0) {
|
|
r += day + "天";
|
|
}
|
|
if (hour > 0) {
|
|
r += hour + "小时";
|
|
}
|
|
if (min > 0) {
|
|
r += min + "分";
|
|
}
|
|
if (s > 0) {
|
|
r += s + "秒";
|
|
}
|
|
r += "前";
|
|
return r;
|
|
}
|
|
}
|