51CTO下载Java时间操作总结代码版.docx

上传人:b****6 文档编号:3729500 上传时间:2022-11-25 格式:DOCX 页数:33 大小:22.12KB
下载 相关 举报
51CTO下载Java时间操作总结代码版.docx_第1页
第1页 / 共33页
51CTO下载Java时间操作总结代码版.docx_第2页
第2页 / 共33页
51CTO下载Java时间操作总结代码版.docx_第3页
第3页 / 共33页
51CTO下载Java时间操作总结代码版.docx_第4页
第4页 / 共33页
51CTO下载Java时间操作总结代码版.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

51CTO下载Java时间操作总结代码版.docx

《51CTO下载Java时间操作总结代码版.docx》由会员分享,可在线阅读,更多相关《51CTO下载Java时间操作总结代码版.docx(33页珍藏版)》请在冰豆网上搜索。

51CTO下载Java时间操作总结代码版.docx

51CTO下载Java时间操作总结代码版

直接在main函数中测试方法即可

importjava.text.ParseException;

importjava.text.SimpleDateFormat;

importjava.util.ArrayList;

importjava.util.Calendar;

importjava.util.Date;

importjava.util.List;

importjava.util.Locale;

importorg.tulip.StringUtil;

publicclassTimeUtilsextendsmons.lang.time.DateUtils

{

publicstaticfinalSimpleDateFormatdateFormat=newSimpleDateFormat(yyyy-MM-ddHHmmss);

publicstaticfinalSimpleDateFormatdateFormatHiddenHour=newSimpleDateFormat(yyyy-MM-dd);

publicstaticfinalStringgetFormatedNowTime()

{

returndateFormat.format(newDate());

}

格式化时间(yyyy-MM-ddHHmmss)

@paramdate

@return

publicstaticfinalStringgetFormatedTime(Datedate)

{

returndateFormat.format(date);

}

格式化时间

@paramdate

@return

publicstaticfinalStringgetFormatedTime(SimpleDateFormatdateFormat,Datedate)

{

returndateFormat.format(date);

}

格式化时间(yyyy-MM-dd)

@paramdate

@return

publicstaticfinalStringgetFormatedTimeHiddenHour(Datedate)

{

returndateFormatHiddenHour.format(date);

}

长整型时间转换(yyyy-MM-ddHHmmss)

@paramtimestamp

@return

publicstaticfinalStringgetFormatedTime(Longtimestamp)

{

Datedate=newDate(timestamp);

returndateFormat.format(date);

}

显示完整时间

publicstaticStringgetRecentDateString(intoffset)

{

offset与当前日期的偏移量如-1代表昨天

Datedate=newDate();

date=newDate(date.getTime()+offset86400000);

returndateFormat.format(date);

}

publicstaticStringgetRecentDateString(Datedate,intoffset)

{

offset与当前日期的偏移量如-1代表昨天

date=newDate(date.getTime()+offset86400000);

returndateFormat.format(date);

}

只显示年月日部份

publicstaticStringgetRecentDateExcludeHourString(intoffset)

{

offset与当前日期的偏移量如-1代表昨天

Datedate=newDate();

date=newDate(date.getTime()+offset86400000);

returndateFormatHiddenHour.format(date);

}

publicstaticStringgetRecentDateExcludeHourString(Stringstr,intoffset)throwsParseException

{

offset与当前日期的偏移量如-1代表昨天

Datedate=dateFormatHiddenHour.parse(str);

date=newDate(date.getTime()+offset86400000);

returndateFormatHiddenHour.format(date);

}

publicstaticStringgetRecentDateFormatString(SimpleDateFormatdateFormat,Stringstr,intoffset)throwsParseException

{

offset与当前日期的偏移量如-1代表昨天

Datedate=dateFormat.parse(str);

date=newDate(date.getTime()+offset86400000);

returndateFormat.format(date);

}

STRING日期转化为DATE型

@paramsDt

@return

@throwsParseException

publicstaticDatestringToDate(StringsDt)throwsParseException

{

returndateFormat.parse(sDt);

}

publicstaticDatestringToDateExcludeHour(StringsDt)throwsParseException

{

returndateFormatHiddenHour.parse(sDt);

}

publicstaticDatestringToFormatDate(SimpleDateFormatdateFormat,StringsDt)throwsParseException

{

returndateFormat.parse(sDt);

}

返回两个时间差,毫秒

@paramnow

@paramreturnDate

@return

publicstaticlongdaysBetween(Datenow,DatereturnDate)

{

CalendarcNow=Calendar.getInstance();

CalendarcReturnDate=Calendar.getInstance();

cNow.setTime(now);

cReturnDate.setTime(returnDate);

setTimeToMidnight(cNow);

setTimeToMidnight(cReturnDate);

longtodayMs=cNow.getTimeInMillis();

longreturnMs=cReturnDate.getTimeInMillis();

longintervalMs=todayMs-returnMs;

returnintervalMs;

}

毫秒转成实际天数

@paramintervalMs

@return

publicstaticintmillisecondsToDays(longintervalMs)

{

return(int)(intervalMs(100086400));

}

设置时间从0开始

@paramcalendar

publicstaticvoidsetTimeToMidnight(Calendarcalendar)

{

calendar.set(Calendar.HOUR_OF_DAY,0);

calendar.set(Calendar.MINUTE,0);

calendar.set(Calendar.SECOND,0);

}

月份的最后一天

@paramymStr只包含年和月的字符串

@return

publicstaticintgetLastDayOfMonth(StringymStr){

ymStr=StringUtils.getFormatDateStr(ymStr);

intyear=Integer.parseInt(ymStr.substring(0,ymStr.indexOf(-)));

intmonth=Integer.parseInt(ymStr.substring(ymStr.indexOf(-)+1));

Calendarc=Calendar.getInstance();

c.set(Calendar.YEAR,year);

c.set(Calendar.MONTH,month-1);

returnc.getActualMaximum(Calendar.DAY_OF_MONTH);

}

月份的最后一天

@paramyear

@parammonth

@return

publicstaticintgetLastDayOfMonth(intyear,intmonth)

{

Calendarc=Calendar.getInstance();

c.set(Calendar.YEAR,year);

c.set(Calendar.MONTH,month);

c.set(Calendar.DATE,1);

c.add(Calendar.DATE,-1);

System.out.println(c.get(Calendar.DATE)+_+c.get(Calendar.MONTH));

returnc.getActualMaximum(Calendar.DAY_OF_MONTH);

}

月份的第一天

@paramyear

@parammonth

@return

publicstaticintgetFirstDayOfMonth(intyear,intmonth)

{

Calendarc=Calendar.getInstance();

c.set(Calendar.YEAR,year);

c.set(Calendar.MONTH,month-1);

return(c.getActualMinimum(Calendar.DAY_OF_MONTH));

}

两个时间相差的月份

@parambegin

@paramend

@return

publicstaticintgetDiffMonth(Stringbegin,Stringend)

{

try

{

SimpleDateFormatmyFormatter=newSimpleDateFormat(yyyy-MM-dd);

java.util.Datedate1=myFormatter.parse(end);

java.util.Datedate2=myFormatter.parse(begin);

inty1=(date1.getYear()-date2.getYear());

intm2=y112+(date1.getMonth()-date2.getMonth());

returnm2;

}catch(Exceptione)

{

return0;

}

}

计算两个日期相隔的天数

publicstaticintgetDiffDay(StringfirstString,StringsecondString){

SimpleDateFormatdf=newSimpleDateFormat(yyyy-MM-dd);

DatefirstDate=null;

DatesecondDate=null;

try{

firstDate=df.parse(firstString);

secondDate=df.parse(secondString);

}catch(Exceptione){

日期型字符串格式错误

}

intnDay=(int)((secondDate.getTime()-firstDate.getTime())(2460601000));

returnnDay;

}

日期加法

@paramwhen被计算的日期

@paramfieldthetimefield.在Calendar中定义的常数,例如Calendar.DATE

@paramamount加数

@return计算后的日期

publicstaticDateadd(Datewhen,intfield,intamount){

Calendarcalendar=Calendar.getInstance();

calendar.setTime(when);

calendar.add(field,amount);

returncalendar.getTime();

}

计算给定的日期加上给定的天数。

@paramwhen给定的日期

@paramamount给定的天数

@return计算后的日期

publicstaticDateaddDays(Datewhen,intamount){

returnadd(when,Calendar.DAY_OF_YEAR,amount);

}

计算给定的日期加上给定的月数。

@paramwhen给定的日期

@paramamount给定的月数

@return计算后的日期

publicstaticDateaddMonths(Datewhen,intamount){

returnadd(when,Calendar.MONTH,amount);

}

获取月底

@paramyear年4位年度

@parammonth月1~12

@return月底的Date对象。

例如:

2006-3-31

publicstaticDategetMonthEnd(intyear,intmonth){

StringBuffersb=newStringBuffer(10);

Datedate;

if(month12){

sb.append(Integer.toString(year));

sb.append(-);

sb.append(month+1);

sb.append(-1);

date=switchStringToDate(sb.toString());

}else{

sb.append(Integer.toString(year+1));

sb.append(-1-1);

date=switchStringToDate(sb.toString());

}

date.setTime(date.getTime()-1);

returndate;

}

获取月底

@paramwhen要计算月底的日期

@return月底的Date对象。

例如:

2006-3-31

publicstaticDategetMonthEnd(Datewhen){

Calendarcalendar=Calendar.getInstance();

calendar.setTime(when);

intyear=calendar.get(Calendar.YEAR);

intmonth=calendar.get(Calendar.MONTH)+1;

returngetMonthEnd(year,month);

}

获取给定日的最后一刻。

@paramwhen给定日

@return最后一刻。

例如:

2006-4-19235959.999

publicstaticDategetDayEnd(Datewhen){

Datedate=truncate(when,Calendar.DATE);

date=addDays(date,1);

date.setTime(date.getTime()-1);

returndate;

}

获取给定日的第一刻。

@paramwhen给定日

@return最后一刻。

例如:

2006-4-19235959.999

publicstaticDategetDay(Datewhen){

Datedate=truncate(when,Calendar.DATE);

date=addDays(date,-1);

date.setTime(date.getTime()+1);

returndate;

}

取得系统当前时间,格式为yyyy-mm-dd

publicstaticStringgetCurrentDate()

{

CalendarrightNow=Calendar.getInstance();

intyear=rightNow.get(Calendar.YEAR);

intmonth=rightNow.get(Calendar.MONTH)+1;

intday=rightNow.get(Calendar.DATE);

returnyear+-+month+-+day;

}

取得系统当前时间,格式为yyyy年mm月dd日

publicstaticStringgetCurrentDate1()

{

CalendarrightNow=Calendar.getInstance();

intyear=rightNow.get(Calendar.YEAR);

intmonth=rightNow.get(Calendar.MONTH)+1;

intday=rightNow.get(Calendar.DATE);

returnyear+年+month+月+day+日;

}

取得系统当前时间前n个月的相对应的一天

publicstaticStringgetNMonthBeforeCurrentDay(intn)

{

Calendarc=Calendar.getInstance();

c.add(Calendar.MONTH,-n);

return+c.get(Calendar.YEAR)+-+(c.get(Calendar.MONTH)+1)+-

+c.get(Calendar.DATE);

}

取得系统当前时间后n个月的相对应的一天

publicstaticStringgetNMonthAfterCurrentDay(intn)

{

Calendarc=Calendar.getInstance();

c.add(Calendar.MONTH,n);

return+c.get(Calendar.YEAR)+-+(c.get(Calendar.MONTH)+1)+-

+c.get(Calendar.DATE);

}

取得系统当前时间前n天,格式为yyyy-mm-dd

publicstaticStringgetNDayBeforeCurrentDate(intn)

{

Calendarc=Calendar.getInstance();

c.add(Calendar.DAY_OF_MONTH,-n);

return+c.get(Calendar.YEAR)+-+(c.get(Calendar.MONTH)+1)+-

+c.get(Calendar.DATE);

}

取得系统当前时间后n天,格式为yyyy-mm-dd

publicstaticStringgetNDayAfterCurrentDate(intn)

{

Calendarc=Calendar.getInstance();

c.add(Calendar.DAY_OF_MONTH,n);

return+c.get(Calendar.YEAR)+-+(c.get(Calendar.MONTH)+1)+-

+c.get(Calendar.DATE);

}

---------------------------------------------------------------------

取过去一个时间对应的系统当年的一天

publicstaticStringgetCurrentDateAfterPastDate(StringsPastDate)

{

if(sPastDate!

=null&&!

sPastDate.equals())

{

Datedate=switchStringToDate(sPastDate);

Calendarc=Calendar.getInstance();

c.setTime(date);

intiPastYear=c.get(Calendar.YEAR);

Calendarc1=Calendar.getInstance();

intiCurrentYear=c1.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1