Java常用的时间工具类实例
本文实例讲述了Java常用的时间工具类。分享给大家供大家参考,具体如下:
packageorg.zhy.date;
importjava.text.DateFormat;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;
importjava.util.GregorianCalendar;
/**
*时间类型工具类
*
*@authorzhengyi
*
*/
publicclassDateUtils{
//时间格式定义
publicstaticfinalStringDATE_PATTERN_YYYY_MM_DD="yyyy-MM-dd";//2011-10-09
publicstaticfinalStringyyyyMMddhhmmss="yyyyMMddhhmmss";//20111009100155
publicstaticfinalStringyyyy_MM_ddhhMMss="yyyy-MM-ddhh:MM:ss";//2011-10-09
//10:01:55
//时间格式:年月日时分秒
publicstaticfinalintYEAR=1;//年
publicstaticfinalintMONTH=2;//月
publicstaticfinalintDAY=3;//日
publicstaticfinalintHOUROFDAY=4;//时
publicstaticfinalintMINUTE=5;//分
publicstaticfinalintSECOND=6;//秒
/**
*将时间转换为字符串
*
*@paramdate
*:需要转换的时间
*@paramdate_fomat
*:时间格式
*@returnString:转换后的格式
*/
publicstaticStringDateToString(java.util.Datedate,Stringdate_fomat){
DateFormatdf=newSimpleDateFormat(date_fomat);
returndf.format(date);
}
/**
*根据年月日时分秒生成Date并返回
*
*@paramyear
*:年
*@parammonth
*:月
*@paramdayOfMonth
*:日
*@paramhourOfDay
*:时
*@paramminute
*:分
*@paramsecond
*:秒
*@return
*/
publicstaticDatestringToDate(intyear,intmonth,intdayOfMonth,
inthourOfDay,intminute,intsecond){
GregorianCalendargc=newGregorianCalendar(year,month,dayOfMonth,
hourOfDay,minute,second);
Datedt=gc.getTime();
returndt;
}
/**
*根据年月日生成Date并返回
*
*@paramyear
*:年
*@parammonth
*:月
*@paramdayOfMonth
*:日
*@returnDate:返回的Date对象
*/
publicstaticDatestringToDate(intyear,intmonth,intdayOfMonth){
GregorianCalendargc=newGregorianCalendar(year,month,dayOfMonth);
Datedt=gc.getTime();
returndt;
}
/**
*是否为闰年
*
*@paramdate
*@return
*/
publicstaticbooleanisLeapYear(Datedate){
GregorianCalendargc=gcToDate(date);
returngc.isLeapYear(findYearByDate(date,YEAR));
}
/**
*获得日期中的年月日时分秒
*
*@paramdate
*:需要获取的时间
*@paramtype
*:获取的类型,类内常量
*@return
*/
publicstaticintfindYearByDate(Datedate,inttype){
Calendarcd=Calendar.getInstance();
cd.setTime(date);
intnumber=0;
switch(type){
caseYEAR:
number=cd.get(Calendar.YEAR);
break;
caseMONTH:
number=cd.get(Calendar.MONTH);
break;
caseDAY:
number=cd.get(Calendar.DAY_OF_MONTH);
break;
caseHOUROFDAY:
number=cd.get(Calendar.HOUR_OF_DAY);
break;
caseMINUTE:
number=cd.get(Calendar.MINUTE);
break;
caseSECOND:
number=cd.get(Calendar.SECOND);
break;
default:
number=0;
}
returnnumber;
}
/**
*私有函数,将Date类型转换为GregorianCalendar类型以便类内使用
*
*@paramdate
*@return
*/
privatestaticGregorianCalendargcToDate(Datedate){
GregorianCalendargc=newGregorianCalendar();
gc.setTime(date);
returngc;
}
}
PS:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:
在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在线万年历日历:
http://tools.jb51.net/bianmin/wannianli
在线阴历/阳历转换工具:
http://tools.jb51.net/bianmin/yinli2yangli
Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime
更多关于java相关内容感兴趣的读者可查看本站专题:《java日期与时间操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。