Java日期工具類的封裝詳解_第1頁
Java日期工具類的封裝詳解_第2頁
Java日期工具類的封裝詳解_第3頁
Java日期工具類的封裝詳解_第4頁
Java日期工具類的封裝詳解_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第Java日期工具類的封裝詳解publicstaticDateaddDay(Datedate,intadds){

Calendarcal=Calendar.getInstance();

cal.setTime(date);

cal.add(Calendar.DATE,adds);

returncal.getTime();

*日期字符串年月加減+天

*@paramdate日期字符串

*@paramadds天數(shù)

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:06

*@since1.0.0

publicstaticStringaddDay(Stringdate,intadds){

Stringfmt=checkFmtByPattern(date);

Dater=addDay(parse(date),adds);

returnformat(r,fmt);

*日期年月加減+月

*@paramdate日期

*@paramadds天數(shù)

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:06

*@since1.0.0

publicstaticDateaddMonth(Datedate,intadds){

Calendarcal=Calendar.getInstance();

cal.setTime(date);

cal.add(Calendar.MONTH,adds);

returncal.getTime();

*日期年月加減+月

*@paramdate日期字符串

*@paramadds天數(shù)

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:06

*@since1.0.0

publicstaticStringaddMonth(Stringdate,intadds){

Stringfmt=checkFmtByPattern(date);

Dater=addMonth(parse(date),adds);

returnformat(r,fmt);

*日期年月加減+年

*@paramdate日期

*@paramadds天數(shù)

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:06

*@since1.0.0

publicstaticDateaddYear(Datedate,intadds){

Calendarcal=Calendar.getInstance();

cal.setTime(date);

cal.add(Calendar.YEAR,adds);

returncal.getTime();

*日期年月加減+年

*@paramdate日期字符串

*@paramadds天數(shù)

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:06

*@since1.0.0

publicstaticStringaddYear(Stringdate,intadds){

Stringfmt=checkFmtByPattern(date);

Dater=addYear(parse(date),adds);

returnformat(r,fmt);

*返回當(dāng)前日期

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:10

*@since1.0.0

publicstaticDategetNowDate(){

returnnewDate();

*返回當(dāng)前日期字符串

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:10

*@since1.0.0

publicstaticStringgetNowStr(Stringformat){

returngetSdf(format).format(newDate());

*返回當(dāng)前年

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:10

*@since1.0.0

publicstaticintgetNowYear(){

Calendarcalendar=Calendar.getInstance();

returncalendar.get(Calendar.YEAR);

*返回當(dāng)前月

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:10

*@since1.0.0

publicstaticintgetNowMonth(){

Calendarcalendar=Calendar.getInstance();

returncalendar.get(Calendar.MONTH);

*獲取今天是多少號(hào)

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:10

*@since1.0.0

publicstaticintgetNowDay(){

Calendarcalendar=Calendar.getInstance();

returncalendar.get(Calendar.DAY_OF_MONTH);

*返回當(dāng)前日期是今年的第幾天

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:10

*@since1.0.0

publicstaticintgetNowDayOfYear(){

Calendarcalendar=Calendar.getInstance();

returncalendar.get(Calendar.DAY_OF_YEAR);

*獲取今天是星期幾

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:10

*@since1.0.0

publicstaticintgetNowDayOfWeek(){

Calendarcalendar=Calendar.getInstance();

returncalendar.get(Calendar.DAY_OF_WEEK)-1;

*獲取日期字符串的某一個(gè)時(shí)間單位

*@paramdateStr日期字符串

*@paramformat日期格式化模式默認(rèn):yyyy/MM/dd

*@paramunit獲取的日期單位

*@returnint

*@authorcompass

*@date2025/9/14

*@since1.0.0

publicstaticintgetDateUnit(StringdateStr,Stringformat,DateTools.DateTypeunit){

inttype=unit.getValue();

format=StringUtils.isNotBlank(format)format:DEFAULT_DATETIME_FORMAT;

SimpleDateFormatsdf=newSimpleDateFormat(format);

CalendarstartCalendar=Calendar.getInstance();

DatedateTime=null;

try{

dateTime=sdf.parse(dateStr);

}catch(ParseExceptione){

e.printStackTrace();

thrownewRuntimeException("日期格式錯(cuò)誤");

startCalendar.setTime(dateTime);

intyear=startCalendar.get(Calendar.YEAR);

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

intday=startCalendar.get(Calendar.DAY_OF_MONTH);

inthour=startCalendar.get(Calendar.HOUR_OF_DAY);

intminute=startCalendar.get(Calendar.MINUTE);

intsecond=startCalendar.get(Calendar.SECOND);

switch(type){

case1:

returnyear;

case2:

returnmonth;

case3:

returnday;

case4:

returnhour;

case5:

returnminute;

case6:

returnsecond;

default:

thrownewRuntimeException("日期單位不正確");

*計(jì)算距離生日還有多少天

*@paramdate:生日日期

*@paramformat:日期格式默認(rèn):yyyy-MM-dd

publicstaticintgetBirthDay(Stringdate,String...format){

if(format!=nullformat.length1){

thrownewRuntimeException("日期格式字符串,只支持一個(gè)");

intdays=0;

try{

SimpleDateFormatmyFormatter=newSimpleDateFormat(format.length=0"yyyy-MM-dd":format[0]);

StringcliDate=date;

CalendarcToday=Calendar.getInstance();//存今天

CalendarcBirth=Calendar.getInstance();//存生日

cBirth.setTime(myFormatter.parse(cliDate));//設(shè)置生日

cBirth.set(Calendar.YEAR,cToday.get(Calendar.YEAR));//修改為本年

if(cBirth.get(Calendar.DAY_OF_YEAR)cToday.get(Calendar.DAY_OF_YEAR)){

//生日已經(jīng)過了,要算明年的了

days=cToday.getActualMaximum(Calendar.DAY_OF_YEAR)-cToday.get(Calendar.DAY_OF_YEAR);

days+=cBirth.get(Calendar.DAY_OF_YEAR);

}else{

//生日還沒過

days=cBirth.get(Calendar.DAY_OF_YEAR)-cToday.get(Calendar.DAY_OF_YEAR);

}catch(ParseExceptione){

e.printStackTrace();

returndays;

*獲取服務(wù)器啟動(dòng)時(shí)間

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2114:40

*@since1.0.0

publicstaticDategetServerStartDate(){

longtime=ManagementFactory.getRuntimeMXBean().getStartTime();

returnnewDate(time);

*獲取服務(wù)器啟動(dòng)時(shí)間

*@paramformat日期格式默認(rèn)yyyy-MM-ddHH:mm:ss

*@returnjava.util.Dat

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論