package tk.djcrazy.libCC98.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class DateFormatUtil {
public static Date convertStringToDateInPostContent(String dateString)
throws ParseException {
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/M/d H:mm:ss", Locale.ENGLISH);
return sdf1.parse(dateString);
}
public static Date convertStringToDateInPostList(String dateString)
throws ParseException {
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/M/d H:mm:ss", Locale.ENGLISH);
return sdf1.parse(dateString);
}
public static Date convertStringToDateInQueryResult(String dateString)
throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/M/d HH:mm", Locale.ENGLISH);
return sdf.parse(dateString);
}
public static Date convertStrToDateInPBoard(String dateString)
throws ParseException {
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/M/d H:mm:ss", Locale.ENGLISH);
return sdf1.parse(dateString);
}
public static String convertDateToString(Date date, boolean useFriendlyTime) {
if (useFriendlyTime) {
return useFriendlyTime(date);
} else {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss", Locale.ENGLISH);
return sdf.format(date);
}
}
/**
* 以友好的方式显示时间
*
* @param time
* @return
*/
private static String useFriendlyTime(Date time) {
// 获取time距离当前的秒数
int ct = (int) ((System.currentTimeMillis() - time.getTime()) / 1000);
if (ct <= 0) {
return "刚刚";
}
if (ct > 0 && ct < 60) {
return ct + "秒前";
}
if (ct >= 60 && ct < 3600) {
return Math.max(ct / 60, 1) + "分钟前";
}
if (ct >= 3600 && ct < 86400)
return ct / 3600 + "小时前";
if (ct >= 86400 && ct < 2592000) { // 86400 * 30
int day = ct / 86400;
return day + "天前";
}
if (ct >= 2592000 && ct < 31104000) { // 86400 * 30
return ct / 2592000 + "个月前";
}
return ct / 31104000 + "年前";
}
}