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-062、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-063、 LocalDate now(Clock clock)
從指定的時(shí)鐘獲取當(dāng)前日期
LocalDate a = LocalDate.now(Clock.systemDefaultZone());//系統(tǒng)默認(rèn)
System.out.println(a); // 2023-06-064、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-055、LocalDate ofYearDay(int year, int dayOfYear)
從一年和一年中的某天獲取實(shí)例 LocalDate
year – 代表年份,從MIN_YEAR年到MAX_YEAR年dayOfYear – 代表一年中的一天,從 1 到 366
注意:如果任何字段的值超出范圍,或者如果一年中的某一天對(duì)年份無(wú)效
LocalDate localDate = LocalDate.ofYearDay(2023 ,32);
System.out.println(localDate);//2023-02-016、LocalDate parse(CharSequence text)
從文本字符串(如 2007-12-03)中獲取 的LocalDate實(shí)例
LocalDate a = LocalDate.parse("2023-06-06");
System.out.println(a); // 2023-06-067、boolean isSupported(TemporalUnit unit)
檢查是否支持指定的單位。
這將檢查是否可以在此日期中添加或減去指定的單位
LocalDate a = LocalDate.of(2023,6,6);
boolean supported = a.isSupported(ChronoUnit.DAYS);
System.out.println(supported); // true8、int getYear()
獲取年份字段
LocalDate a = LocalDate.of(2023,6,6);
int year = a.getYear();
System.out.println(year); // 20239、int getMonthValue()
獲取從 1 到 12 的月份字段
LocalDate a = LocalDate.of(2023,6,6);
int month = a.getMonthValue();
System.out.println(month); // 610、int getDayOfMonth()
獲取月份中的某天字段
LocalDate a = LocalDate.of(2023,6,6);
int day = a.getDayOfMonth();
System.out.println(day); // 611、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); // 15612、DayOfWeek getDayOfWeek()
獲取星期字段,這是一個(gè)枚舉 DayOfWeek
LocalDate a = LocalDate.of(2023,6,6);
DayOfWeek week = a.getDayOfWeek();
System.out.println(week); // TUESDAY13、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); // 36516、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-3117、LocalDate withYear(int year)
返回更改 LocalDate 年份的副本。
如果月份中的某天對(duì)年份無(wú)效,它將更改為該月的最后一個(gè)有效日期。
LocalDate now = LocalDate.of(2023,2,28);
LocalDate localDate = now.withYear(2024);
System.out.println(localDate); // 2024-02-2818、LocalDate withMonth(int month)
返回更改 LocalDate 月份的副本。
如果月份中的某天對(duì)年份無(wú)效,它將更改為該月的最后一個(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-2819、LocalDate withDayOfMonth(int dayOfMonth)
返回更改 LocalDate 月份中的某天的副本。
如果生成的日期無(wú)效,則會(huì)引發(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-0520、LocalDate withDayOfYear(int dayOfYear)
返回更改 LocalDate 了一年中的某一天的副本。
如果生成的日期無(wú)效,則會(huì)引發(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-2021、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-2822、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-2823、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-0724、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-1025、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-2826、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-2827、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-2128、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-0229、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) {
//開(kāi)始日期到結(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-2831、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:0632、LocalDateTime atTime(int hour, int minute, int second)
將此日期與時(shí)間組合以創(chuàng)建 LocalDateTime.
這將返回 LocalDateTime 從此日期開(kāi)始在指定的小時(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:0633、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); // -134、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); // true35、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); // false36、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); // false37、boolean equals(Object obj)
檢查此日期是否等于另一個(gè)日期。
將此與 LocalDate 另一個(gè)進(jìn)行比較,確保日期相同返回:
如果此日期等于其他日期,則為 true,僅比較類(lèi)型的 LocalDate 對(duì)象,其他類(lèi)型返回 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); // false38、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-3039、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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一文詳解Java17中LinkedList類(lèi)的用法和應(yīng)用場(chǎng)景
LinkedList 是 Java 集合框架中基于雙向鏈表實(shí)現(xiàn)的類(lèi),實(shí)現(xiàn)了 List 和 Deque 接口,本文將為大家介紹一下它在Java 17 中如何更高效的使用吧2025-03-03
java實(shí)現(xiàn)Flappy Bird游戲源代碼
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)Flappy Bird游戲源代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
java基于jdbc連接mysql數(shù)據(jù)庫(kù)功能實(shí)例詳解
這篇文章主要介紹了java基于jdbc連接mysql數(shù)據(jù)庫(kù)功能,結(jié)合實(shí)例形式詳細(xì)分析了jdbc連接mysql數(shù)據(jù)庫(kù)的原理、步驟、實(shí)現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下2017-10-10
Spring Boot 自定義 Shiro 過(guò)濾器無(wú)法使用 @Autowired問(wèn)題及解決方法
這篇文章主要介紹了Spring Boot 自定義 Shiro 過(guò)濾器無(wú)法使用 @Autowired問(wèn)題及解決方法 ,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06
android中判斷服務(wù)或者進(jìn)程是否存在實(shí)例
本篇文章主要介紹了android中判斷服務(wù)或者進(jìn)程是否存在實(shí)例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
詳細(xì)說(shuō)明關(guān)于Java的數(shù)據(jù)庫(kù)連接(JDBC)
這篇文章主要介紹了詳細(xì)說(shuō)明關(guān)于Java的數(shù)據(jù)庫(kù)連接JDBC,JDBC是用Java語(yǔ)言向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句,需要的朋友可以參考下面文章內(nèi)容2021-09-09
Java中字節(jié)流和字符流的理解(超精簡(jiǎn)!)
Java通過(guò)稱(chēng)為流的抽象來(lái)執(zhí)行I/O操作,下面這篇文章主要給大家介紹了關(guān)于Java中字節(jié)流和字符流理解,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
SpringBoot實(shí)現(xiàn)識(shí)別圖片中的身份證號(hào)與營(yíng)業(yè)執(zhí)照信息
這篇文章主要為大家詳細(xì)介紹了SpringBoot如何實(shí)現(xiàn)識(shí)別圖片中的身份證號(hào)與營(yíng)業(yè)執(zhí)照信息,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2024-01-01

