Java中LocalDate的詳細(xì)方法舉例總結(jié)
1、LocalDate now()
從默認(rèn)時(shí)區(qū)的系統(tǒng)時(shí)鐘獲取當(dāng)前日期。
LocalDate a = LocalDate.now(); System.out.println(a); // 2023-06-06
2、LocalDate now(ZoneId zone)
從默認(rèn)時(shí)區(qū)的系統(tǒng)時(shí)鐘獲取當(dāng)前日期
LocalDate a = LocalDate.now(ZoneId.systemDefault());//系統(tǒng)默認(rèn) System.out.println(a); // 2023-06-06
3、 LocalDate now(Clock clock)
從指定的時(shí)鐘獲取當(dāng)前日期
LocalDate a = LocalDate.now(Clock.systemDefaultZone());//系統(tǒng)默認(rèn) System.out.println(a); // 2023-06-06
4、LocalDate of(int year, int month, int dayOfMonth)
從年、月和日獲取實(shí)例 LocalDate
year – 代表年份,從MIN_YEAR年到MAX_YEAR年
month – 代表的月份,從1月1日(1月)到12日(12月)
dayOfMonth – 表示從 1 到 31 的月份中的某天
LocalDate localDate = LocalDate.of(2023,6,5); System.out.println(localDate);//2023-06-05
5、LocalDate ofYearDay(int year, int dayOfYear)
從一年和一年中的某天獲取實(shí)例 LocalDate
year – 代表年份,從MIN_YEAR年到MAX_YEAR年dayOfYear – 代表一年中的一天,從 1 到 366
注意:如果任何字段的值超出范圍,或者如果一年中的某一天對年份無效
LocalDate localDate = LocalDate.ofYearDay(2023 ,32); System.out.println(localDate);//2023-02-01
6、LocalDate parse(CharSequence text)
從文本字符串(如 2007-12-03)中獲取 的LocalDate實(shí)例
LocalDate a = LocalDate.parse("2023-06-06"); System.out.println(a); // 2023-06-06
7、boolean isSupported(TemporalUnit unit)
檢查是否支持指定的單位。
這將檢查是否可以在此日期中添加或減去指定的單位
LocalDate a = LocalDate.of(2023,6,6); boolean supported = a.isSupported(ChronoUnit.DAYS); System.out.println(supported); // true
8、int getYear()
獲取年份字段
LocalDate a = LocalDate.of(2023,6,6); int year = a.getYear(); System.out.println(year); // 2023
9、int getMonthValue()
獲取從 1 到 12 的月份字段
LocalDate a = LocalDate.of(2023,6,6); int month = a.getMonthValue(); System.out.println(month); // 6
10、int getDayOfMonth()
獲取月份中的某天字段
LocalDate a = LocalDate.of(2023,6,6); int day = a.getDayOfMonth(); System.out.println(day); // 6
11、int getDayOfYear()
獲取一年中的某天字段,
返回:一年中的某一天,從 1 到 365,或閏年為 366,也就是當(dāng)年當(dāng)月當(dāng)日的天數(shù)
LocalDate now = LocalDate.of(2023,6,5); int localDate = now.getDayOfYear(); System.out.println(localDate); // 156
12、DayOfWeek getDayOfWeek()
獲取星期字段,這是一個(gè)枚舉 DayOfWeek
LocalDate a = LocalDate.of(2023,6,6); DayOfWeek week = a.getDayOfWeek(); System.out.println(week); // TUESDAY
13、boolean isLeapYear()
檢查年份是否為閏年
LocalDate now = LocalDate.of(1904,6,5); Boolean localDate = now.isLeapYear(); System.out.println(localDate); // true
14、int lengthOfMonth()
返回月份有多少天
LocalDate now = LocalDate.of(2023,6,5); int localDate = now.lengthOfMonth(); System.out.println(localDate); // 30
15、int lengthOfYear()
返回年份有多少天
LocalDate now = LocalDate.of(2023,6,5); int localDate = now.lengthOfYear(); System.out.println(localDate); // 365
16、LocalDate with(TemporalAdjuster adjuster)
返回此日期的調(diào)整副本
例如,此代碼返回 7 月最后一天的日期
LocalDate now = LocalDate.of(2023,7,5); LocalDate localDate = now.with(lastDayOfMonth()); System.out.println(localDate); // 2023-07-31
17、LocalDate withYear(int year)
返回更改 LocalDate 年份的副本。
如果月份中的某天對年份無效,它將更改為該月的最后一個(gè)有效日期。
LocalDate now = LocalDate.of(2023,2,28); LocalDate localDate = now.withYear(2024); System.out.println(localDate); // 2024-02-28
18、LocalDate withMonth(int month)
返回更改 LocalDate 月份的副本。
如果月份中的某天對年份無效,它將更改為該月的最后一個(gè)有效日期。
參數(shù):
month – 結(jié)果中設(shè)置的月份,從 1 日(1 月)到 12 日(12 月)
LocalDate now = LocalDate.of(2023,2,28); LocalDate localDate = now.withMonth(5); System.out.println(localDate); // 2023-05-28
19、LocalDate withDayOfMonth(int dayOfMonth)
返回更改 LocalDate 月份中的某天的副本。
如果生成的日期無效,則會引發(fā)異常參數(shù):
dayOfMonth – 結(jié)果中設(shè)置的月份日期,從 1 到 28-31
LocalDate now = LocalDate.of(2023,2,28); LocalDate localDate = now.withDayOfMonth(5); System.out.println(localDate); // 2023-02-05
20、LocalDate withDayOfYear(int dayOfYear)
返回更改 LocalDate 了一年中的某一天的副本。
如果生成的日期無效,則會引發(fā)異常參數(shù):
dayOfYear – 結(jié)果中設(shè)置的日期,從 1 到 365-366
LocalDate now = LocalDate.of(2023,2,28); LocalDate localDate = now.withDayOfYear(20); System.out.println(localDate); // 2023-01-20
21、LocalDate plusYears(long yearsToAdd)
返回添加 LocalDate 指定年數(shù)
參數(shù):
yearsToAdd – 要添加的年份,可能是負(fù)數(shù)(如果是正數(shù)則增加年份,是負(fù)數(shù)則減年份)
LocalDate now = LocalDate.of(2023,2,28); LocalDate localDate = now.plusYears(2); System.out.println(localDate); // 2025-02-28
22、LocalDate plusMonths(long monthsToAdd)
返回添加 LocalDate 指定月數(shù)
參數(shù):
monthsToAdd – 要添加的月份,可能是負(fù)數(shù)(如果是正數(shù)則增加月數(shù),是負(fù)數(shù)則減月數(shù))
LocalDate now = LocalDate.of(2023,2,28); LocalDate localDate = now.plusMonths(-2); System.out.println(localDate); // 2022-12-28
23、LocalDate plusWeeks(long weeksToAdd)
返回添加了 LocalDate 指定周數(shù),可能是負(fù)數(shù)(如果是正數(shù)則增加周數(shù),是負(fù)數(shù)則減周數(shù))
LocalDate now = LocalDate.of(2023,2,28); LocalDate localDate = now.plusWeeks(1); System.out.println(localDate); // 2023-03-07
24、LocalDate plusDays(long daysToAdd)
返回添加 LocalDate 指定天數(shù)
參數(shù):
daysToAdd – 添加的天數(shù),可能是負(fù)數(shù)(如果是正數(shù)則增加天數(shù),是負(fù)數(shù)則減天數(shù))
LocalDate now = LocalDate.of(2023,2,28); LocalDate localDate = now.plusDays(10); System.out.println(localDate); // 2023-03-10
25、LocalDate minusYears(long yearsToSubtract)
返回此 LocalDate 副本,并減去指定的年數(shù)
參數(shù):
yearsToSubtract –減去的年份,可能是負(fù)數(shù)(如果是正數(shù)則減去年份,負(fù)數(shù)則增加年份)
LocalDate now = LocalDate.of(2023,2,28); LocalDate localDate = now.minusYears(2); System.out.println(localDate); // 2021-02-28
26、LocalDate minusMonths(long monthsToSubtract)
返回此 LocalDate 副本,并減去指定的月數(shù)
參數(shù):
monthsToSubtract–減去的月份,可能是負(fù)數(shù)(如果是正數(shù)則減去月份,負(fù)數(shù)則增加月份)
LocalDate now = LocalDate.of(2023,2,28); LocalDate localDate = now.minusMonths(2); System.out.println(localDate); // 2022-12-28
27、LocalDate minusWeeks(long weeksToSubtract)
返回此 LocalDate 副本,并減去指定的周數(shù)
參數(shù):
weeksToSubtract–減去的周數(shù),可能是負(fù)數(shù)(如果是正數(shù)則減去周數(shù),負(fù)數(shù)則增加周數(shù))
LocalDate now = LocalDate.of(2023,2,28); LocalDate localDate = now.minusWeeks(1); System.out.println(localDate); // 2023-02-21
28、LocalDate minusDays(long daysToSubtract)
返回此 LocalDate 副本,并減去指定的天數(shù)
參數(shù):
daysToSubtract–減去的天數(shù),可能是負(fù)數(shù)(如果是正數(shù)則減去天數(shù),負(fù)數(shù)則增加天數(shù))
LocalDate now = LocalDate.of(2023,2,28); LocalDate localDate = now.minusDays(-2); System.out.println(localDate); // 2023-03-02
29、long until(Temporal endExclusive, TemporalUnit unit)
根據(jù)指定單位計(jì)算到另一個(gè)日期的時(shí)間量
例如,2023-2-28 和 2024-2-28 之間的月份
除了月份:支持YEARS、DAYS、WEEKS、DECADES、CENTURIES、MILLENNIA、ERAS
import java.time.LocalDate; import java.time.temporal.ChronoUnit; public class lll { public static void main(String[] args) { //開始日期到結(jié)束日期相差的月份 LocalDate star = LocalDate.of(2023,2,28); LocalDate end = LocalDate.of(2024,2,28); // 方式一 Long localDate = star.until(end, ChronoUnit.MONTHS); // 方式二 long between = ChronoUnit.MONTHS.between(star, end); System.out.println(localDate); // 12 System.out.println(between); // 12 } }
30、String format(DateTimeFormatter formatter)
使用指定的格式化程序設(shè)置此日期的格式。
此日期將傳遞給格式化程序以生成字符串
LocalDate now = LocalDate.of(2023,2,28); String localDate = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); System.out.println(localDate); // 2023-02-28
31、LocalDateTime atTime(LocalTime time)
將此日期與時(shí)間組合以創(chuàng)建 LocalDateTime.
這將返回 LocalDateTime 從此日期在指定時(shí)間形成的。日期和時(shí)間的所有可能組合均有效
LocalDate now = LocalDate.of(2023,2,28); LocalDateTime localDate = now.atTime(LocalTime.of(12,5,6)); System.out.println(localDate); // 2023-02-28T12:05:06
32、LocalDateTime atTime(int hour, int minute, int second)
將此日期與時(shí)間組合以創(chuàng)建 LocalDateTime.
這將返回 LocalDateTime 從此日期開始在指定的小時(shí)、分鐘和秒處形成的。納秒字段將設(shè)置為零。各個(gè)時(shí)間字段必須在其有效范圍內(nèi)。日期和時(shí)間的所有可能組合均有效。參數(shù):
hour – 要使用的小時(shí),從 0 到 23 minute – 使用的小時(shí)分鐘數(shù),從 0 到 59 second – 表示的分鐘秒,從 0 到 59
LocalDate now = LocalDate.of(2023,2,28); LocalDateTime localDate = now.atTime(12,5,6); System.out.println(localDate); // 2023-02-28T12:05:06
33、int compareTo(ChronoLocalDate other)
將此日期與另一個(gè)日期進(jìn)行比較。
返回:
比較器值,如果較小則為負(fù)值,如果較大則為正值
LocalDate now = LocalDate.of(2023,1,28); LocalDate now1 = LocalDate.of(2023,2,28); int localDate = now.compareTo(now1); System.out.println(localDate); // -1
34、boolean isAfter(ChronoLocalDate other)
檢查此日期是否晚于指定日期
返回:
如果此日期晚于指定日期,則為 true
LocalDate a = LocalDate.of(2023, 6, 30); LocalDate b = LocalDate.of(2023, 7, 1); boolean after = a.isAfter(b); boolean after1 = a.isAfter(a); boolean after2 = b.isAfter(a); System.out.println(after); // false System.out.println(after1); // false System.out.println(after2); // true
35、boolean isBefore(ChronoLocalDate other)
檢查此日期是否早于指定日期
返回:
如果此日期早于指定日期,則為 true
LocalDate a = LocalDate.of(2023, 6, 30); LocalDate b = LocalDate.of(2023, 7, 1); boolean before = a.isBefore(b); boolean before1 = a.isBefore(a); boolean before2 = b.isBefore(a); System.out.println(before); // true System.out.println(before1); // false System.out.println(before2); // false
36、boolean isEqual(ChronoLocalDate other)
檢查此日期是否等于指定日期
返回:
如果此日期等于指定日期,則為 true
LocalDate a = LocalDate.of(2023, 6, 30); LocalDate b = LocalDate.of(2023, 7, 1); boolean equal = a.isEqual(b); boolean equal1 = a.isEqual(a); boolean equal12 = b.isEqual(a); System.out.println(equal); // false System.out.println(equal1); // true System.out.println(equal12); // false
37、boolean equals(Object obj)
檢查此日期是否等于另一個(gè)日期。
將此與 LocalDate 另一個(gè)進(jìn)行比較,確保日期相同返回:
如果此日期等于其他日期,則為 true,僅比較類型的 LocalDate 對象,其他類型返回 false
LocalDate a = LocalDate.of(2023, 6, 30); LocalDate b = LocalDate.of(2023, 7, 1); boolean equal = a.equals(b); boolean equal1 = a.equals(a); boolean equal12 = b.equals(a); System.out.println(equal); // false System.out.println(equal1); // true System.out.println(equal12); // false
38、String toString()
將此日期輸出為 String,例如 2007-12-03。
輸出將采用 ISO-8601 格式 uuuu-MM-dd
LocalDate a = LocalDate.of(2023, 6, 30); String equal = a.toString(); System.out.println(equal); // 2023-06-30
39、int hashCode()
此日期的哈希代碼。
返回:
合適的哈希碼
LocalDate a = LocalDate.of(2023, 6, 30); int equal = a.hashCode(); System.out.println(equal); // 4143518
總結(jié)
到此這篇關(guān)于Java中LocalDate的詳細(xì)方法的文章就介紹到這了,更多相關(guān)Java LocalDate用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用JSONObject.toJSONString()包含或排除指定的屬性
這篇文章主要介紹了利用JSONObject.toJSONString()包含或排除指定的屬性,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03JAVA發(fā)送http get/post請求,調(diào)用http接口、方法詳解
這篇文章主要介紹了Java發(fā)送http get/post請求調(diào)用接口/方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04基于斷點(diǎn)續(xù)傳下載原理的實(shí)現(xiàn)
下面小編就為大家?guī)硪黄跀帱c(diǎn)續(xù)傳下載原理的實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09Java中ThreadLocal?導(dǎo)致內(nèi)存?OOM?的原因分析
這篇文章主要介紹了Java中ThreadLocal導(dǎo)致內(nèi)存OOM的原因分析,文章基于Java的相關(guān)內(nèi)容展開ThreadLocal導(dǎo)致內(nèi)存OOM的原因分析,需要的小伙v阿布可以參考一下2022-05-05一小時(shí)迅速入門Mybatis之Prepared Statement與符號的使用
這篇文章主要介紹了一小時(shí)迅速入門Mybatis之Prepared Statement與符號的使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09