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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第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);

*返回當前日期

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:10

*@since1.0.0

publicstaticDategetNowDate(){

returnnewDate();

*返回當前日期字符串

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:10

*@since1.0.0

publicstaticStringgetNowStr(Stringformat){

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

*返回當前年

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:10

*@since1.0.0

publicstaticintgetNowYear(){

Calendarcalendar=Calendar.getInstance();

returncalendar.get(Calendar.YEAR);

*返回當前月

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:10

*@since1.0.0

publicstaticintgetNowMonth(){

Calendarcalendar=Calendar.getInstance();

returncalendar.get(Calendar.MONTH);

*獲取今天是多少號

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2111:10

*@since1.0.0

publicstaticintgetNowDay(){

Calendarcalendar=Calendar.getInstance();

returncalendar.get(Calendar.DAY_OF_MONTH);

*返回當前日期是今年的第幾天

*@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;

*獲取日期字符串的某一個時間單位

*@paramdateStr日期字符串

*@paramformat日期格式化模式默認: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("日期格式錯誤");

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("日期單位不正確");

*計算距離生日還有多少天

*@paramdate:生日日期

*@paramformat:日期格式默認:yyyy-MM-dd

publicstaticintgetBirthDay(Stringdate,String...format){

if(format!=nullformat.length1){

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

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));//設置生日

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;

*獲取服務器啟動時間

*@returnjava.util.Date

*@authorcompass

*@date2025/10/2114:40

*@since1.0.0

publicstaticDategetServerStartDate(){

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

returnnewDate(time);

*獲取服務器啟動時間

*@paramformat日期格式默認yyyy-MM-ddHH:mm:ss

*@returnjava.util.Dat

溫馨提示

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

評論

0/150

提交評論