LocalDateTime的方法總結(jié)

?LocalDateTime的使用方法

1? public staticLocalDateTimenow():從指定時區(qū)的系統(tǒng)時鐘獲取當前的日期時間。

2? public staticLocalDateTimenow(Clockclock)?從指定的時鐘獲取當前的日期時間,clock不能為空。

3 public staticLocalDateTimeof(LocalDatedate,LocalTimetime)從日期和時間獲取一個?LocalDateTime的實例。

4 public staticLocalDateTimeof(int?year,Monthmonth, int?dayOfMonth, int?hour, int?minute, int?second) 從年,月,日,小時,分鐘和秒獲得LocalDateTime的實例,將納秒設(shè)置為零。

?year- 從默認的 MIN_YEAR到 MAX_YEAR 的年份? ?

?month- 代表月份的1-12,不為空

?dayOfMonth- 代表月份中1-31,以月份中天數(shù)大小為準。

?hour- 從0到23的小時。

?minute- 從0到59的分鐘。

?second- 從0到59的秒其他的同上

5 public?int?getDayOfYear() 獲得日期字段(獲得是年份中的第幾天) 例如 2020/12/3 獲得2020的第338天。

6 public?int?getDayOfMonth() 獲取月份字段(獲取月份中的第幾天) 例如 2020/12/3 獲得12月的第3天。

7 publicDayOfWeekgetDayOfWeek()獲取星期幾字段,這是一個枚舉DayOfWeek 。(獲得整個星期的星期幾)例如 2020/12/3 獲得這周的星期四。

8?public?int?getYear()獲取年份字段。

9 publicMonthgetMonth()使用Month枚舉獲取月份字段(獲得不是數(shù)組而是英文單詞)。

10?public?int?getHour()獲取時間字段。

11?public?int?getMinute()獲取分鐘字段。

12?public?int?getSecond()獲得第秒的字段。

13 public?LocalDateTime?withYear(int?year)返回此年份變更的LocalDateTime的副本。?時間不影響計算,結(jié)果將相同。?如果一年中的日期無效,它將被更改為該月的最后一個有效日期。

14 public?LocalDateTime?withMonth(int?month)返回此年份更改的LocalDateTime的副本。?時間不影響計算,結(jié)果將相同。?如果一年中的日期無效,它將被更改為該月的最后一個有效日期。

15 public?LocalDateTime?withDayOfMonth(int?dayOfMonth)返回這個LocalDateTime的副本,并更改日期。?如果結(jié)果LocalDateTime無效,則會拋出異常。?時間不影響計算,結(jié)果將相同。

16 public?LocalDateTime?withDayOfYear(int?dayOfYear)返回此LocalDateTime的副本。?如果得到LocalDateTime是無效的,則拋出異常。

17 public?LocalDateTime?withHour(int?hour)返回此日期值更改的LocalDateTime的副本。

18 public?LocalDateTime?withMinute(int?minute)返回這個LocalDateTime的副本,小時值更改。

19 public?LocalDateTime?withSecond(int?second)返回這個LocalDateTime的副本,并更改秒數(shù)值。

20 public?LocalDateTime?plusYears(long?years)返回這個LocalDateTime的副本,并以指定的時間段添加。

該方法通過三個步驟將指定的數(shù)量添加到年份字段:

1.將輸入年份添加到年份字段

2.檢查結(jié)果日期是否無效

3.如果有必要,將月份調(diào)整到最后一個有效日期

例如,2008-02-29(閏年)加上一年將導致無效日期2009-02-29(標準年)。?而不是返回無效結(jié)果,而是選擇2009-02-28的最后一個有效日期。

21 public?LocalDateTime?plusMonths(long?months)返回這個LocalDateTime的副本,其中指定的時間段以月為單位。

此方法通過三個步驟將指定的數(shù)量添加到月份字段:

1.將輸入的月份添加到月份字段

2.檢查結(jié)果日期是否無效

3.如果有必要,將月份調(diào)整到最后一個有效日期

例如,2007-03-31加上一個月將導致無效日期2007-04-31。?而不是返回無效結(jié)果,而是選擇2007-04-30的最后一個有效日期。

22 public?LocalDateTime?plusWeeks(long?weeks)返回這個LocalDateTime的副本,其中指定的周期以周為單位。

該方法將指定的數(shù)量以周為單位,根據(jù)需要增加月份和年份字段的日期字段,以確保結(jié)果保持有效。?如果超過最大/最小年份,結(jié)果將無效。

例如,2008-12-31加上一周將導致2009-01-07。

23 public?LocalDateTime?plusDays(long?days)返回此LocalDateTime的指定期間的LocalDateTime的副本。

此方法將指定的金額添加到天數(shù)字段中,根據(jù)需要增加月份和年份字段,以確保結(jié)果保持有效。?如果超過最大/最小年份,結(jié)果將無效。

例如,2008-12-31加上一天會導致2009-01-01。

24 public?LocalDateTime?plusHours(long?hours)以指定的時間段返回此LocalDateTime的副本,小時數(shù)。

25 public?LocalDateTime?plusMinutes(long?minutes)以指定的時間(以分鐘為單位)返回此LocalDateTime的副本。

26 public?LocalDateTime?plusSeconds(long?seconds)返回此副本LocalDateTime在加秒的規(guī)定時間。

27 public?LocalDateTime?minusYears(long?years)返回此LocalDateTime的副本,以減去的年份為單位。

該方法從三個步驟中減去指定的數(shù)量:

1.從年度字段減去輸入年數(shù)

2.檢查結(jié)果日期是否無效

3.如果有必要,將月份調(diào)整到最后一個有效日期

例如,2008-02-29(閏年)減去一年將導致無效日期2009-02-29(標準年)。?而不是返回無效結(jié)果,而是選擇2009-02-28的最后一個有效日期。

28 public?LocalDateTime?minusMonths(long?months)返回此LocalDateTime的副本,指定的時間以月為單位減去。

該方法從以下三個步驟中減去月份字段中指定的數(shù)量:

1.從月份字段減去輸入月份

2.檢查結(jié)果日期是否無效

3.如果有必要,將月份調(diào)整到最后一個有效日期

例如,2007-03-31減去一個月將導致無效日期2007-04-31。?而不是返回無效結(jié)果,而是選擇2007-04-30的最后一個有效日期。

29 public?LocalDateTime?minusWeeks(long?weeks)返回此LocalDateTime一個副本,以指定的周期扣除。

該方法從必要的日期字段減去月和年字段中減去指定的數(shù)量,以確保結(jié)果保持有效。?如果超過最大/最小年份,結(jié)果將無效。

例如,2009-01-07減去一周將導致2008-12-31。

30 public?LocalDateTime?minusDays(long?days)返回此LocalDateTime的副本,其中指定的時間間隔以天為單位。

該方法從天數(shù)字段減去指定數(shù)量,根據(jù)需要增加月份和年份字段,以確保結(jié)果保持有效。?如果超過最大/最小年份,結(jié)果將無效。

例如,2009-01-01減去一天會導致2008-12-31。

31 public?LocalDateTime?minusHours(long?hours)以指定的時間段返回此LocalDateTime的副本,以減少的小時數(shù)。

32 public?LocalDateTime?minusMinutes(long?minutes)返回此LocalDateTime的副本,其中指定的時間間隔以分鐘為單位。

33 public?LocalDateTime?minusSeconds(long?seconds)返回此LocalDateTime的副本,其中指定的時間間隔以秒為單位。

34 public?String?format(DateTimeFormatter?formatter)使用指定的格式化程序格式化此日期時間。這個日期時間將傳遞給格式化程序以生成一個字符串。

35 public static?LocalDateTime?parse(CharSequence?text, DateTimeFormatter?formatter)使用特定的格式化LocalDateTime從文本字符串獲取LocalDateTime的實例。

36 public?boolean?isBefore(ChronoLocalDateTime?other) 檢查此日期時間是否在指定的日期時間之前

37 public?boolean?isAfter(ChronoLocalDateTime?other)檢查這個日期時間是否在指定的日期之后。

38?public?boolean?equals(Object?obj)?檢查這個日期時間是否等于另一個日期時間。

39public?boolean?isEqual(ChronoLocalDateTime?other)檢查此日期時間是否等于指定的日期時間。

40 public?String?toString()將此日期時間輸出為String,如2007-12-03T10:15:30。


?以下是測試方法,可以copy測試。

@RunWith(SpringRunner.class)

@SpringBootTest

public class DataTimeUtil {

? ? @Test

? ? public void test(){

? ? ? ? LocalDateTime local=LocalDateTime.now();

? ? ? ? System.out.println("獲取默認當前時間為 "+local);

? ? ? ? Clock clock=Clock.systemDefaultZone();

? ? ? ? System.out.println("獲取默認當前的Clock "+clock.toString());

? ? ? ? LocalDateTime localDateTime1=LocalDateTime.now(clock);

? ? ? ? System.out.println("獲取Clock時區(qū)的時間為"+localDateTime1);

? ? ? ? LocalDate localDate= LocalDate.now();

? ? ? ? LocalTime localTime=LocalTime.now();

? ? ? ? LocalDateTime localDateTime2=LocalDateTime.of(localDate,localTime);

? ? ? ? System.out.println("localDate是 "+localDate+" localTime是 "+localTime+" 獲取的localDateTime2 "+localDateTime2);

? ? ? ? System.out.println("分割線-------------------------------------------------------------------分割線");

? ? ? ? Integer dayOfYear=local.getDayOfYear();

? ? ? ? Integer dayOfMonth=local.getDayOfMonth();

? ? ? ? DayOfWeek dayOfWeek=local.getDayOfWeek();

? ? ? ? System.out.println("獲得是年份中的第幾天 "+dayOfYear+" 獲取月份中的第幾天 "+dayOfMonth+" 獲得整個星期的星期幾 "+dayOfWeek);

? ? ? ? Integer year=local.getYear();

? ? ? ? Month month=local.getMonth();

? ? ? ? Integer hour=local.getHour();

? ? ? ? Integer minute=local.getMinute();

? ? ? ? Integer second=local.getSecond();

? ? ? ? System.out.println("獲得年份 "+year+" 獲得月份 "+month+" 獲得小時 "+hour+" 獲得分鐘 "+minute+ " 獲得秒鐘 "+second);

? ? ? ? System.out.println("分割線-------------------------------------------------------------------分割線");

? ? ? ? LocalDateTime currentTimeWithDayOfYear=local.withDayOfYear(12);

? ? ? ? LocalDateTime currentTimeWithDayOfMonth=local.withDayOfMonth(11);

? ? ? ? LocalDateTime currentTimeWithYear=local.withYear(2019);

? ? ? ? LocalDateTime currentTimeWithMonth=local.withMonth(1);

? ? ? ? LocalDateTime currentTimeWithHour=local.withHour(12);

? ? ? ? LocalDateTime currentTimeWithMinute=local.withMinute(22);

? ? ? ? LocalDateTime currentTimeWithSecond=local.withSecond(12);

? ? ? ? System.out.println("年份中天變更 "+currentTimeWithDayOfYear+" 月份中天變更 "+currentTimeWithDayOfMonth+" 年份變更 "+currentTimeWithYear

? ? ? ? ? ? ? ? ? ? ? ? ? +"月份變更 "+currentTimeWithMonth+" 時變更 "+currentTimeWithHour+" 分鐘變更 "+currentTimeWithMinute

? ? ? ? ? ? ? ? ? ? ? ? ? +"秒變更 "+currentTimeWithSecond);

? ? ? ? System.out.println("分割線-------------------------------------------------------------------分割線");

? ? ? ? LocalDateTime currentTimeAddYear=local.plusYears(1);

? ? ? ? LocalDateTime currentTimeAddMonth=local.plusMonths(1);

? ? ? ? LocalDateTime currentTimeAddDay=local.plusDays(1);

? ? ? ? LocalDateTime currentTimeAddWeek=local.plusWeeks(1);

? ? ? ? LocalDateTime currentTimeAddHour=local.plusHours(1);

? ? ? ? LocalDateTime currentTimeAddSecond=local.plusSeconds(1);

? ? ? ? LocalDateTime currentTimeAddMinutes=local.plusMinutes(1);

? ? ? ? System.out.println("加年份 "+currentTimeAddYear+" 加月份 "+currentTimeAddMonth+" 加天 "+currentTimeAddDay

? ? ? ? ? ? ? ? ? ? ? ? +" 加周 "+currentTimeAddWeek+" 加小時 "+currentTimeAddHour+" 加分鐘 "+currentTimeAddMinutes

? ? ? ? ? ? ? ? ? ? ? ? +" 加秒 "+currentTimeAddSecond);

? ? ? ? LocalDateTime currentTimeMinusYear=local.minusYears(1);

? ? ? ? LocalDateTime currentTimeMinusMonth=local.minusMonths(1);

? ? ? ? LocalDateTime currentTimeMinusWeek=local.minusWeeks(1);

? ? ? ? LocalDateTime currentTimeMinusDay=local.minusDays(1);

? ? ? ? LocalDateTime currentTimeMinusHour=local.minusHours(1);

? ? ? ? LocalDateTime currentTimeMinusMinute=local.minusMinutes(1);

? ? ? ? LocalDateTime currentTimeMinusSecond=local.minusSeconds(1);

? ? ? ? System.out.println("減年份 "+currentTimeMinusYear+" 減月份 "+currentTimeMinusMonth+" 減天 "+currentTimeMinusDay

? ? ? ? ? ? ? ? ? ? ? ? +" 減周 "+currentTimeMinusWeek+" 減小時 "+currentTimeMinusHour+" 減分鐘 "+currentTimeMinusMinute

? ? ? ? ? ? ? ? ? ? ? ? +" 減秒 "+currentTimeMinusSecond);

? ? ? ? System.out.println("分割線-------------------------------------------------------------------分割線");

? ? ? ? DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

? ? ? ? //它會把時間格式化為指定格式的字符串 創(chuàng)建實例才能使用format()方法

? ? ? ? String nowTime=local.format(formatter);

? ? ? ? System.out.println("格式化后的數(shù)據(jù)時(得到String類型) "+nowTime);

? ? ? ? //parse()方法通過LocalDateTime

? ? ? ? String str11="2007-12-03T10:15:30";

? ? ? ? //注意當String str="2010-1-1 10:10:10"格式會報錯

? ? ? ? String str="2010-01-01 10:10:10";

? ? ? ? LocalDateTime parseTime=LocalDateTime.parse(str11);

? ? ? ? LocalDateTime parseTime1=LocalDateTime.parse(str,formatter);

? ? ? ? System.out.println("格式化后的數(shù)據(jù)時(得到LocalDateTime類型) "+ parseTime+

? ? ? ? ? ? ? ? ? ? ? ? ? "格式化后的數(shù)據(jù)時(得到LocalDateTime類型)有倆個參數(shù) "+parseTime1);

? ? ? ? //傳入的參數(shù)是LocalDateTime類型

? ? ? ? LocalDateTime date=parseTime;

? ? ? ? boolean flag=local.isBefore(date);

? ? ? ? boolean flag1=local.isAfter(date);

? ? ? ? System.out.println("傳入的參數(shù)是 "+date+" 是否在傳入的數(shù)據(jù)之前 "+flag+"是否在傳入的數(shù)據(jù)之后 "+flag1);

? ? ? ? //是否相等

? ? ? ? boolean flag2=local.equals(date);

? ? ? ? System.out.println("localDateTime1和localDateTime2是否相等 "+flag2);

? ? ? ? boolean flag3=local.isEqual(date);

? ? ? ? System.out.println("localDateTime1和localDateTime2是否相等 "+flag3);

? ? ? ? String Str=date.toString();

? ? ? ? System.out.println("輸出字符串 "+Str);

? ? }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容