package com.huamuwebsite.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public classDateUtil {
public static String yyyy_MM_dd = "yyyy-MM-dd";
public static String yyyyMMdd = "yyyyMMdd";
public static String yyyyMM = "yyyyMM";
public static String yyyy_MM = "yyyy-MM";
public static String yyyy_MM_dd_HH_mm= "yyyy-MM-dd HH:mm";
public static String yyyyMMddHHmm = "yyyyMMddHHmm";
public static String yyyyMMddHHmmss= "yyyyMMddHHmmss";
public static String yyyy_MM_dd_HH_mm_ss= "yyyy-MM-dd HH:mm:ss";
public static String yyyy_MM_dd_HH_mm_ss_SSS= "yyyy-MM-dd HH:mm:ss:SSS";
//月份和日为1位时不自动补0
public static String yyyy_M_d = "yyyy-M-d";
/*public static String yyyy="yyyy";
publicstatic String MM="MM";
publicstatic String dd="dd";*/
/**
* 将字符串时间改成Date类型
* @param format
* @param dateStr
* @return
*/
public static Date strToDate(Stringformat, String dateStr) {
Datedate = null;
try {
SimpleDateFormatsimpleDateFormat = new SimpleDateFormat(format);
date= simpleDateFormat.parse(dateStr);
}catch(ParseException e) {
e.printStackTrace();
}
return date;
}
/**
* 将Date时间转成字符串
* @param format
* @param date
* @return
*/
public static String DateToStr(Stringformat, Date date) {
SimpleDateFormatsimpleDateFormat = new SimpleDateFormat(format);
returnsimpleDateFormat.format(date);
}
/**
* 获取2个字符日期的天数差
* @param p_startDate
* @param p_endDate
* @return天数差
*/
public static longgetDaysOfTowDiffDate(String p_startDate, String p_endDate) {
Datel_startDate = DateUtil.strToDate(DateUtil.yyyy_MM_dd, p_startDate);
Datel_endDate = DateUtil.strToDate(DateUtil.yyyy_MM_dd, p_endDate);
long l_startTime =l_startDate.getTime();
long l_endTime =l_endDate.getTime();
long betweenDays = (long) ((l_endTime -l_startTime) / (1000 * 60 * 60 * 24));
return betweenDays;
}
/**
* 获取2个Date型日期的分钟数差值
* @param p_startDate
* @param p_endDate
* @return分钟数差值
*/
public static longgetMinutesOfTowDiffDate(Date p_startDate, Date p_endDate) {
long l_startTime =p_startDate.getTime();
long l_endTime =p_endDate.getTime();
long betweenMinutes = (long) ((l_endTime -l_startTime) / (1000 * 60));
return betweenMinutes;
}
/**
* 获取2个字符日期的天数差
* @param p_startDate
* @param p_endDate
* @return天数差
*/
public static longgetDaysOfTowDiffDate(Date l_startDate, Date l_endDate) {
long l_startTime =l_startDate.getTime();
long l_endTime =l_endDate.getTime();
long betweenDays = (long) ((l_endTime -l_startTime) / (1000 * 60 * 60 * 24));
return betweenDays;
}
/**
* 给出日期添加一段时间后的日期
* @param dateStr
* @param plus
* @return
*/
public static StringgetPlusDays(String format, String dateStr, long plus) {
Datedate = DateUtil.strToDate(format, dateStr);
long time = date.getTime() +plus * 24 * 60 * 60 * 1000;
return DateUtil.DateToStr(format,newDate(time));
}
/**
* 给出日期添加一段时间后的日期
* @param dateStr
* @param plus
* @return
*/
public static StringgetPlusDays(String format, Date date, long plus) {
long time = date.getTime() +plus * 24 * 60 * 60 * 1000;
return DateUtil.DateToStr(format,newDate(time));
}
}