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= Calendar.getInstance();//today

date.add(Calendar.DATE, days);

SimpleDateFormat simpleDate= newSimpleDateFormat(DEFALT_DATE_FORMAT);returnsimpleDate.format(date.getTime());

}/*** 在指定的日期的前几天或后几天

*

*@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 calendar=Calendar.getInstance();

calendar.setTime(date);

calendar.add(Calendar.DATE, days);

SimpleDateFormat dateFormat= newSimpleDateFormat(DEFALT_DATE_FORMAT);returndateFormat.format(calendar.getTime());

}/***

* 功能描述:

* 〈功能详细描述〉校验正确的日期格式

*

*@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) {//如果throw java.text.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;

Date endDate;try{

beginDate=format.parse(beginDateStr);

endDate=format.parse(endDateStr);

day= (endDate.getTime() - beginDate.getTime()) / (24 * 60 * 60 * 1000);

}catch(ParseException e) {throw new RuntimeException("传入日期参数有误!",e);

}returnday;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值