importjava.text.DateFormat;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;/*** 说明:日期处理
*@version
*/
public classDateUtil {private final static SimpleDateFormat sdfYear = new SimpleDateFormat("yyyy");private final static SimpleDateFormat sdfDay = new SimpleDateFormat("yyyy-MM-dd");private final static SimpleDateFormat sdfDays = new SimpleDateFormat("yyyyMMdd");private final static SimpleDateFormat sdfTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");private final static SimpleDateFormat sdfTimes = new SimpleDateFormat("yyyyMMddHHmmss");/*** 获取YYYY格式
*@return
*/
public staticString getSdfTimes() {return sdfTimes.format(newDate());
}/*** 获取YYYY格式
*@return
*/
public staticString getYear() {return sdfYear.format(newDate());
}/*** 获取YYYY-MM-DD格式
*@return
*/
public staticString getDay() {return sdfDay.format(newDate());
}/*** 获取YYYYMMDD格式
*@return
*/
public staticString getDays(){return sdfDays.format(newDate());
}/*** 获取YYYY-MM-DD HH:mm:ss格式
*@return
*/
public staticString getTime() {return sdfTime.format(newDate());
}/*** @Title: compareDate
* @Description: TODO(日期比较,如果s>=e 返回true 否则返回false)
*@params
*@parame
*@returnboolean
*@throws*@authorfh*/
public static booleancompareDate(String s, String e) {if(fomatDate(s)==null||fomatDate(e)==null){return false;
}return fomatDate(s).getTime() >=fomatDate(e).getTime();
}/*** 格式化日期
*@return
*/
public staticDate fomatDate(String date) {
DateFormat fmt= new SimpleDateFormat("yyyy-MM-dd");try{returnfmt.parse(date);
}catch(ParseException e) {
e.printStackTrace();return null;
}
}/*** 校验日期是否合法
*@return
*/
public static booleanisValidDate(String s) {
DateFormat fmt= new SimpleDateFormat("yyyy-MM-dd");try{
fmt.parse(s);return true;
}catch(Exception e) {//如果throw java.text.ParseException或者NullPointerException,就说明格式不对
return false;
}
}/***@paramstartTime
*@paramendTime
*@return
*/
public static intgetDiffYear(String startTime,String endTime) {
DateFormat fmt= new SimpleDateFormat("yyyy-MM-dd");try{//long aa=0;
int years=(int) (((fmt.parse(endTime).getTime()-fmt.parse(startTime).getTime())/ (1000 * 60 * 60 * 24))/365);returnyears;
}catch(Exception e) {//如果throw java.text.ParseException或者NullPointerException,就说明格式不对
return 0;
}
}/***
功能描述:时间相减得到天数*@parambeginDateStr
*@paramendDateStr
*@return* long
*@authorAdministrator*/
public static longgetDaySub(String beginDateStr,String endDateStr){long day=0;
SimpleDateFormat format= new SimpleDateFormat("yyyy-MM-dd");
Date beginDate= null;
Date endDate= null;try{
beginDate=format.parse(beginDateStr);
endDate=format.parse(endDateStr);
}catch(ParseException e) {
e.printStackTrace();
}
day=(endDate.getTime()-beginDate.getTime())/(24*60*60*1000);//System.out.println("相隔的天数="+day);
returnday;
}/*** 得到n天之后的日期
*@paramdays
*@return
*/
public staticString getAfterDayDate(String days) {int daysInt =Integer.parseInt(days);
Calendar canlendar= Calendar.getInstance(); //java.util包
canlendar.add(Calendar.DATE, daysInt); //日期减 如果不够减会将月变动
Date date =canlendar.getTime();
SimpleDateFormat sdfd= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr=sdfd.format(date);returndateStr;
}/*** 得到n天之后是周几
*@paramdays
*@return
*/
public staticString getAfterDayWeek(String days) {int daysInt =Integer.parseInt(days);
Calendar canlendar= Calendar.getInstance(); //java.util包
canlendar.add(Calendar.DATE, daysInt); //日期减 如果不够减会将月变动
Date date =canlendar.getTime();
SimpleDateFormat sdf= new SimpleDateFormat("E");
String dateStr=sdf.format(date);returndateStr;
}public static voidmain(String[] args) {
System.out.println(getDays());
System.out.println(getAfterDayWeek("3"));
}
}