package com.yunpinhui.global.util;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* com.yunpinhui.global.util
* ClassName: DateUtil
* @Description: 时间操作工具类
* @author 毛其传
* @date 2018年1月19日
*/
public class DateUtil {
/**
* 默认日期格式, yyyy-MM-dd
*/
public static String DEFAULT_DATE_PATTERN = "yyyy-MM-dd";
/**
* 默认日期格式, yyyy-MM-dd
*/
public static String DEFAULT_DATE_PATTERN_HOUR = "yyyy-MM-dd HH:mm";
/**
* 默认时间格式, yyyy-MM-dd hh24:mm:ss
*/
public static String DEFAULT_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
/**
* 把符合日期格式的字符串转换为日期类型
*/
public static Date stringtoDate(String dateStr, String format) {
Date d = null;
SimpleDateFormat formater = new SimpleDateFormat(format);
try {
formater.setLenient(false);// 指定日期\时间解析是否不严格
d = formater.parse(dateStr);
} catch (Exception e) {
e.printStackTrace();
}
return d;
}
/**
* @Description: 把日期转换为字符串
* @param @param date 日期
* @param @param format 日期格式化方式
* @param @return
* @return String
* @throws
* @author 毛其传
* @date 2018年1月19日
*/
public static String dateToString(Date date, String format) {
SimpleDateFormat formater = new SimpleDateFormat(format);
String result = formater.format(date);
return result;
}
/**
* @Description: 计算两个字符串日期相差的天数
* @param @param date1 字符串日期1
* @param @param date2 字符串日期2
* @param @param format 日期格式化方式
* @param @return
* @return long
* @throws
* @author 毛其传
* @date 2018年1月19日
*/
public static long dayDiff(String date1, String date2,String format) {
SimpleDateFormat formater = new SimpleDateFormat(format);
long diff=0l;
try {
long d1 = formater.parse(date1).getTime();
long d2 = formater.parse(date2).getTime();
diff=(Math.abs(d1-d2) / (1000 * 60 * 60 * 24));
} catch (Exception e) {
e.printStackTrace();
}
return diff;
}
/**
* @Description: 计算两个字符串日期相差的小时数
* @param @param date1 字符串日期1
* @param @param date2 字符串日期2
* @param @param format
* @param @return
* @return long
* @throws
* @author 毛其传
* @date 2018年1月19日
*/
public static long hourDiff(String date1, String date2,String format) {
SimpleDateFormat formater = new SimpleDateFormat(format);
long diff=0l;
try {
long d1 = formater.parse(date1).getTime();
long d2 = formater.parse(date2).getTime();
diff=(Math.abs(d1-d2) / (1000 * 60 * 60));
} catch (Exception e) {
e.printStackTrace();
}
return diff;
}
/**
* 计算两个日期相差的天数,如果date1 > date2 返回正数,否则返回负数
* 日期精确到时分秒,若是不满足24小时则不满足一天,相差的天数为0
* @param @param date1
* @param @param date2
* @param @return
* @return long
* @throws
* @author 毛其传
* @date 2018年1月19日
*/
public static long dayDiff(Date date1, Date date2) {
long diff = Math.abs(date1.getTime() - date2.getTime());
diff /= 3600 * 1000 * 24;
return diff;
}
以上是我自己封装的一个日期时间类,以便以后使用,各位大神可以评论你们对日期的封装,谢谢