package cn.jfinalbbs.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
/**
* Created by liuyang on 15/4/2.
*/
public class DateUtil {
public static final String FORMAT_DATETIME = "yyyy-MM-dd HH:mm:ss";
public static final String FORMAT_DATE = "yyyy-MM-dd";
public static String formatDateTime(Date date) {
if(date == null) return null;
SimpleDateFormat sdf = new SimpleDateFormat(FORMAT_DATETIME);
sdf.setTimeZone(TimeZone.getTimeZone("GMT+8"));
return sdf.format(date);
}
public static String formatDate(Date date) {
if(date == null) return null;
SimpleDateFormat sdf = new SimpleDateFormat(FORMAT_DATE);
sdf.setTimeZone(TimeZone.getTimeZone("GMT+8"));
return sdf.format(date);
}
public static String formatDateTime(Date date, String style) {
if(date == null) return null;
SimpleDateFormat sdf = new SimpleDateFormat(style);
sdf.setTimeZone(TimeZone.getTimeZone("GMT+8"));
return sdf.format(date);
}
/**
* 字符串转时间
* @param dateString
* @param style
* @return
*/
public static Date string2Date(String dateString, String style) {
if (StrUtil.isBlank(dateString)) return null;
Date date = new Date();
SimpleDateFormat strToDate = new SimpleDateFormat(style);
try {
date = strToDate.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
/**
* 判断传入的时间是否在当前时间之后,返回boolean值
* true: 过期
* false: 还没过期
* @param date
* @return
*/
public static boolean isExpire(Date date) {
if(date.before(new Date())) return true;
return false;
}
public static Date getHourAfter(Date date, int hour) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.HOUR, hour + 1);
return calendar.getTime();
}
public static Date getHourBefore(Date date, int hour) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.HOUR, -(hour - 1));
return calendar.getTime();
}
public static Date getDateBefore(Date date, int day) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH, -day);
return calendar.getTime();
}
public static Date getDateAfter(Date date, int day) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH, day);
return calendar.getTime();
}
public static Date getMinuteAfter(Date date, int minute) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MINUTE, minute);
return calendar.getTime();
}
public static Date getMinuteBefore(Date date, int minute) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MINUTE, -minute);
return calendar.getTime();
}
}