java⽇期⽐较⼯具类_JAVA⽇期⼯具类的总结
/***
* 〈⼀句话功能简述〉
* 〈功能详细描述〉 ⽇期⼯具类
*
*@author12061799
*@see[相关类/⽅法](可选)
*@since[产品/模块版本] (可选)*/
public classDateUtil {//⽇期格式 年.
public static final String YEAR_FORMAT = "yyyy";//默认⽇期格式.
public static final String DEFALT_DATE_FORMAT = "yyyy-MM-dd";//默认时间格式.带时分秒
public static final String DEFUALT_TIMESTAMPE_FORMAT = "yyyy-MM-dd hh:mm:ss sss";//时间格式yyyyMMddHHmmssSSS.
public static final String DATE_FORMATE_YYYYMMDDHHMMSSSSS = "yyyyMMddHHmmssSSS";//时间格式yyyy-MM-dd HH:mm:ss.
public static final String DATE_FORMATE_YYYYMMDDHHMMSS = "yyyy-MM-dd HH:mm:ss";//时间格式yyMMdd.
public static final String DATE_FORMATE_YYMMDD = "yyMMdd";//时间格式DATE_FORMATE_YYYYMMDD.
public static final String DATE_FORMATE_YYYYMMDD = "yyyyMMdd";//时间格式yyyyMMddHHmmssSSS.
public static final String DATE_FORMATE_YYMMDDHHMMSS = "yyMMddHHmmss";/*** private constructor*/
privateDateUtil() {
}/*** 取得现在时间.
*
*@return现在时间*/
public staticString getCurrentSqlTimestampString() {
Date today= newDate();
SimpleDateFormat sdf= newSimpleDateFormat(DEFUALT_TIMESTAMPE_FORMAT);returnsdf.format(today);
}/*** 取得指定格式的时间格式字符串
*
*@return现在时间*/
public staticString getDateStringByFormat(String format) {
Date today= newDate();
SimpleDateFormat sdf= newSimpleDateFormat(format);returnsdf.format(today);
}/*** 将传⼊的时间转换为指定时间格式字符串.
*
*@paramtime 传⼊时间
*@paramdateFormat 时间格式
*@return时间字符串*/
public staticString formatTimeStamp(Timestamp time, String dateFormat) {if (time == null) {return "";
}
SimpleDateFormat sdf= newSimpleDateFormat(dateFormat);returnsdf.format(time);
}/*** 取得现在时间.
*
*@return现在时间*/
public staticTimestamp getCurrentSqlTimestamp() {return newTimestamp(System.currentTimeMillis());
}/*** 取得今天⽇期字符串.
*
*@return今天⽇期字符串*/
public staticString getCurrentDay() {
Date today= newDate();
SimpleDateFormat sdf= newSimpleDateFormat(DEFALT_DATE_FORMAT);returnsdf.format(today);
}/*** 取得今天⽇期+时间字符串.
*
*@return今天⽇期字符串 YYYY-MM-dd HH:mm:ss*/
public staticString getCurrentDayTime() {
Date today= newDate();
SimpleDateFormat sdf= newSimpleDateFormat(DATE_FORMATE_YYYYMMDDHHMMSS);returnsdf.format(today); }/*** 将传⼊的时间转换为默认时间格式字符串.
*
*@paramtime 传⼊时间
*@return时间字符串*/
public staticString formatTimeStampDefualt(Timestamp time) {if (time == null) {return "";
}
SimpleDateFormat sdf= newSimpleDateFormat(DEFUALT_TIMESTAMPE_FORMAT);returnsdf.format(time);
}/*** 将传⼊⽇期转换为默认格式字符串.
*
*@paramdate 传⼊⽇期
*@return⽇期字符串*/
public staticString formatDateDefault(Date date) {if (date == null) {return null;
}
SimpleDateFormat sdf= newSimpleDateFormat(DEFALT_DATE_FORMAT);returnsdf.format(date);
}/*** 功能描述: 根据指定的格式化规则返回当前⽇期
*
*@paramstring
*@return[相关类/⽅法](可选)
*@since[产品/模块版本](可选)*/
public staticString getCurrentDate(String formater) {
SimpleDateFormat format= newSimpleDateFormat(formater);return format.format(newDate());
}/*** 将传⼊⽇期转换为指定格式字符串.
*
*@paramdate 传⼊⽇期
*@paramdateFormat 时间格式
*@return⽇期字符串*/
public staticString formatDateByDateFormate(Date date, String dateFormat) {if (date == null) {return null; }
SimpleDateFormat sdf= newSimpleDateFormat(dateFormat);returnsdf.format(date);
}/*** 取得当前年 .
*
*@return当前年*/
public staticString getCurrentYear() {
Date today= newDate();
SimpleDateFormat sdf= newSimpleDateFormat(YEAR_FORMAT);returnsdf.format(today);
}public static Date formatDate(String date) throwsParseException {
DateFormat df= newSimpleDateFormat(DEFALT_DATE_FORMAT);returndf.parse(date);
}/***
* 功能描述:
* 计算距今天指定天数的⽇期
*
*@paramdays
*@return*@since20130630*/
public static String getDateAfterDays(intdays) {
Calendar date= Instance();//today
date.add(Calendar.DATE, days);
SimpleDateFormat simpleDate= newSimpleDateFormat(DEFALT_DATE_FORMAT);returnsimpleDate.Time());
}/*** 在指定的⽇期的前⼏天或后⼏天
*
*@paramsource 源⽇期(yyyy-MM-dd)
*@paramdays 指定的天数,正负皆可
*@return*@throwsParseException*/
public static String addDays(String source, intdays) {
Date date= null;try{
date=formatDate(source);
}catch(ParseException e) {
}
Calendar Instance();
calendar.setTime(date);
calendar.add(Calendar.DATE, days);
SimpleDateFormat dateFormat=
newSimpleDateFormat(DEFALT_DATE_FORMAT);returndateFormat.Time());
}/***
* 功能描述:
* 〈功能详细描述〉校验正确的⽇期格式
*
*@paramstr
*@return*@see[相关类/⽅法](可选)
*@since[产品/模块版本](可选)*/
public static booleanisValidDate(String str, String format) {boolean convertSuccess = true;//指定⽇期格式为四位年/两位⽉份/两位⽇期,注意yyyy/MM/dd区分⼤⼩写;
SimpleDateFormat sf = newSimpleDateFormat(format);try{//设置lenient为false. 否则SimpleDateFormat会⽐较宽松地验证⽇期,⽐如2007/02/29会被接受,并转换成2007/03/01
sf.setLenient(false);
sf.parse(str);
}catch(ParseException e) {//如果ParseException或者NullPointerException,就说明格式
不对
convertSuccess = false;
}returnconvertSuccess;
}/***
* 功能描述:
* 〈功能详细描述〉计算时间相隔的天数
*
*@parambeginDateStr
*@paramendDateStr
*@return*@see[相关类/⽅法](可选)
*@since[产品/模块版本](可选)*/
public static longgetDaySub(String beginDateStr, String endDateStr) {long day = 0; SimpleDateFormat format= newSimpleDateFormat(DateUtil.DEFALT_DATE_FORMAT); Date beginDate;java时间日期格式转换
Date endDate;try{
beginDate=format.parse(beginDateStr);
endDate=format.parse(endDateStr);
day= (Time() - Time()) / (24 * 60 * 60 * 1000);
}catch(ParseException e) {throw new RuntimeException("传⼊⽇期参数有误!",e);
}returnday;
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论