Java 中DateUtils日期工具类的实例详解
Java中DateUtils日期工具类的实例详解
介绍
在java中队日期类型的处理并不方便,通常都需要借助java.text.SimpleDateFormat类来实现日期类型 和字符串类型之间的转换,但是在jdk1.8之后有所改善,jdk1.7以及之前的版本处理日期类型并不方便, 可以借助JodaTime组件来处理,尤其是日期类型的一些数学操作就更是不方便。
java代码
/**
*
*日期工具类java对日期的操作一直都很不理想,直到jdk1.8之后才有了本质的改变。
*如果使用的是jdk1.8之前版本开发的话,推荐使用JodaTime组件。
*
*特别备注:unix的时间戳单位是秒
*
*@authorxuyi3
*@2016年7月13日@下午2:01:00
*@DateUtils
*@功能说明:
*@春风十里不如你
*@备注
*/
publicclassDateUtils{
/**日志对象*/
privatestaticfinalLoggerlogger=LoggerFactory.getLogger(DateUtils.class);
/**年-月-日时:分:秒显示格式*/
//备注:如果使用大写HH标识使用24小时显示格式,如果使用小写hh就表示使用12小时制格式。
publicstaticStringDATE_TO_STRING_DETAIAL_PATTERN="yyyy-MM-ddHH:mm:ss";
/**年-月-日显示格式*/
publicstaticStringDATE_TO_STRING_SHORT_PATTERN="yyyy-MM-dd";
privatestaticSimpleDateFormatsimpleDateFormat;
/**
*Date类型转为指定格式的String类型
*
*@paramsource
*@parampattern
*@return
*/
publicstaticStringDateToString(Datesource,Stringpattern){
simpleDateFormat=newSimpleDateFormat(pattern);
returnsimpleDateFormat.format(source);
}
/**
*
*unix时间戳转为指定格式的String类型
*
*
*System.currentTimeMillis()获得的是是从1970年1月1日开始所经过的毫秒数
*unix时间戳:是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
*
*@paramsource
*@parampattern
*@return
*/
publicstaticStringtimeStampToString(longsource,Stringpattern){
simpleDateFormat=newSimpleDateFormat(pattern);
Datedate=newDate(source*1000);
returnsimpleDateFormat.format(date);
}
/**
*将日期转换为时间戳(unix时间戳,单位秒)
*
*@paramdate
*@return
*/
publicstaticlongdateToTimeStamp(Datedate){
Timestamptimestamp=newTimestamp(date.getTime());
returntimestamp.getTime()/1000;
}
/**
*
*字符串转换为对应日期(可能会报错异常)
*
*@paramsource
*@parampattern
*@return
*/
publicstaticDatestringToDate(Stringsource,Stringpattern){
simpleDateFormat=newSimpleDateFormat(pattern);
Datedate=null;
try{
date=simpleDateFormat.parse(source);
}catch(ParseExceptione){
logger.error("字符串转换日期异常",e);
}
returndate;
}
/**
*获得当前时间对应的指定格式
*
*@parampattern
*@return
*/
publicstaticStringcurrentFormatDate(Stringpattern){
simpleDateFormat=newSimpleDateFormat(pattern);
returnsimpleDateFormat.format(newDate());
}
/**
*获得当前unix时间戳(单位秒)
*
*@return当前unix时间戳
*/
publicstaticlongcurrentTimeStamp(){
returnSystem.currentTimeMillis()/1000;
}
//待补充
}
总结
掌握了解jdk1.8的新特性和学会使用优秀的开源组件来达到自己快速高效开发的目的。
以上就是java工具类的详解,如有疑问请留言或者到本站社区交流讨论,本站关于java的开发文章还有很多,请大家多多搜索查阅,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!