目錄
API? ? ? ? ? ? ? ?
? ? ? 1.0?LocalDate 類(lèi)與 LocalTime 類(lèi)、LocalDateTime 類(lèi)的API說(shuō)明
????????1.1?如何創(chuàng)建LocalDate 類(lèi)與 LocalTime 類(lèi)、LocalDateTime 類(lèi)的對(duì)象
????????1.2?LocalDate 類(lèi)與 LocalTime 類(lèi)、LocalDateTime 類(lèi)中的以?get 開(kāi)頭實(shí)例方法
????????1.3?LocalDateTime 類(lèi)中的 toLocalDate() 與 toLocalTime() 實(shí)例方法
????????1.4?LocalDate 類(lèi)與 LocalTime 類(lèi)、LocalDateTime 類(lèi)中的以with開(kāi)頭實(shí)例方法?
????????1.5?LocalDate 類(lèi)與 LocalTime 類(lèi)、LocalDateTime 類(lèi)中的以?plus?開(kāi)頭實(shí)例方法?
????????1.6?LocalDate 類(lèi)與 LocalTime 類(lèi)、LocalDateTime 類(lèi)中的以 minus?開(kāi)頭實(shí)例方法?
????????1.7?LocalDate 類(lèi)與 LocalTime 類(lèi)、LocalDateTime 類(lèi)中 equals() 、isBefore()、isAfter() 例方法?
API? ? ? ? ? ? ? ?
? ? ? ? 1.0?LocalDate 類(lèi)與 LocalTime 類(lèi)、LocalDateTime 類(lèi)的API說(shuō)明
? ? ? ? 由于LocalDate 類(lèi)與 LocalTime 類(lèi)、LocalDateTime 類(lèi)的API的使用是大致相同。
? ? ? ? LocalDate:代表本地日期(年、月、日、星期)
????????LocalTime:代表本地時(shí)間(時(shí)、分、秒、納秒)
? ? ? ? LocalDateTime:代表本地日期、時(shí)間(年、月、日、星期、時(shí)、分、秒、納秒)
? ? ? ? 1.1?如何創(chuàng)建LocalDate 類(lèi)與 LocalTime 類(lèi)、LocalDateTime 類(lèi)的對(duì)象
? ? ? ? 可以通過(guò) 類(lèi)名.now()?靜態(tài)方法來(lái)創(chuàng)建當(dāng)前日期、時(shí)間、日期時(shí)間的對(duì)象,還可以通過(guò) 類(lèi)名.of() 靜態(tài)方法來(lái)創(chuàng)建指定日期、時(shí)間、日期時(shí)間的對(duì)象。?
通過(guò) 類(lèi)名.now()?靜態(tài)方法來(lái)創(chuàng)建當(dāng)前日期、時(shí)間、日期時(shí)間的對(duì)象代碼如下:
import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; public class LocalDate_LocalTime_LocalDateTime { public static void main(String[] args) { //創(chuàng)建當(dāng)前日期對(duì)象 LocalDate localDate = LocalDate.now(); System.out.println(localDate); //創(chuàng)建當(dāng)前時(shí)間對(duì)象 LocalTime localTime = LocalTime.now(); System.out.println(localTime); //創(chuàng)建當(dāng)前日期、時(shí)間對(duì)象 LocalDateTime localDateTime = LocalDateTime.now(); System.out.println(localDateTime); } }
運(yùn)行結(jié)果如下:
????????
通過(guò) 類(lèi)名.of() 靜態(tài)方法來(lái)創(chuàng)建指定日期、時(shí)間、日期時(shí)間的對(duì)象的代碼如下:
import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; public class LocalDate_LocalTime_LocalDateTime { public static void main(String[] args) { //創(chuàng)建指定日期對(duì)象 LocalDate localDate = LocalDate.of(2025, 12, 12); System.out.println(localDate); //創(chuàng)建指定時(shí)間對(duì)象 LocalTime localTime = LocalTime.of(9, 30, 12); System.out.println(localTime); //創(chuàng)建指定日期、時(shí)間對(duì)象 //也可以把直接上面的結(jié)合起來(lái) LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime); System.out.println(localDateTime); } }
運(yùn)行結(jié)果如下:
????????
? ? ? ? 1.2?LocalDate 類(lèi)與 LocalTime 類(lèi)、LocalDateTime 類(lèi)中的以?get 開(kāi)頭實(shí)例方法
? ? ? ? ?通過(guò)?get 開(kāi)頭的實(shí)例方法來(lái)獲取相對(duì)應(yīng)的信息。
代碼如下:
import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; public class LocalDate_LocalTime_LocalDateTime { public static void main(String[] args) { //創(chuàng)建當(dāng)前日期對(duì)象 LocalDate localDate = LocalDate.now(); //獲取到了當(dāng)前年 int year = localDate.getYear(); System.out.println(year); //獲取到了當(dāng)前月 int month = localDate.getMonthValue(); System.out.println(month); //獲取到了當(dāng)前日 int date = localDate.getDayOfMonth(); System.out.println(date); //獲取當(dāng)前星期幾 int week = localDate.getDayOfWeek().getValue(); System.out.println(week); //創(chuàng)建當(dāng)前時(shí)間對(duì)象 LocalTime localTime = LocalTime.now(); //獲取當(dāng)前小時(shí) int hour = localTime.getHour(); System.out.println(hour); //獲取當(dāng)前分鐘 int minute = localTime.getMinute(); System.out.println(minute); //獲取當(dāng)前秒 int second = localTime.getSecond(); System.out.println(second); //獲取當(dāng)前納秒 long a = localTime.getNano(); System.out.println(a); System.out.println("-----------------------------------"); //創(chuàng)建當(dāng)前日期、時(shí)間對(duì)象,其實(shí)這類(lèi)就是上面兩個(gè)類(lèi)的集合 LocalDateTime localDateTime = LocalDateTime.now(); System.out.println(localDateTime.getYear()); System.out.println(localDateTime.getMonthValue()); System.out.println(localDateTime.getDayOfMonth()); System.out.println(localDateTime.getDayOfWeek().getValue()); System.out.println(localDateTime.getHour()); System.out.println(localDateTime.getMinute()); System.out.println(localDateTime.getSecond()); System.out.println(localDateTime.getNano()); } }
運(yùn)行結(jié)果如下:
? ? ? ? 1.3?LocalDateTime 類(lèi)中的 toLocalDate() 與 toLocalTime() 實(shí)例方法
? ? ? ? 簡(jiǎn)單的理解為,就是把?LocalDateTime類(lèi) 一分為二成?LocalDate類(lèi) 與 LocalTime類(lèi)。
???代碼如下:
import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; public class LocalDate_LocalTime_LocalDateTime { public static void main(String[] args) { LocalDateTime localDateTime = LocalDateTime.of(2024, 12, 12, 9, 30, 30, 30); System.out.println(localDateTime); System.out.println("-----------------------------------"); LocalDate localDate = localDateTime.toLocalDate(); System.out.println(localDate); LocalTime localTime = localDateTime.toLocalTime(); System.out.println(localDateTime); } }
運(yùn)行結(jié)果如下:
? ? ? ??
????????1.4?LocalDate 類(lèi)與 LocalTime 類(lèi)、LocalDateTime 類(lèi)中的以with開(kāi)頭實(shí)例方法?
? ? ? ? 通過(guò) with 開(kāi)頭的實(shí)例方法來(lái)直接修改對(duì)應(yīng)的信息,需要注意的是以上三個(gè)類(lèi)所創(chuàng)建出來(lái)的對(duì)象都是不可改變的,所以這里的修改指的是創(chuàng)建一個(gè)新的對(duì)象。? ? ? ??
代碼如下:
import java.time.LocalDateTime; import java.time.LocalDate; import java.time.LocalTime; public class LocalDate_LocalTime_LocalDateTime { public static void main(String[] args) { LocalDate localDate = LocalDate.of(2025,12,12); LocalDate reviseLocalDate2 = localDate.withYear(2027); LocalDate reviseLocalDate3 = localDate.withMonth(11); LocalDate reviseLocalDate4 = localDate.withDayOfMonth(22); System.out.println(localDate); System.out.println(reviseLocalDate2); System.out.println(reviseLocalDate3); System.out.println(reviseLocalDate4); System.out.println("---------------------------------------------"); LocalTime localTime = LocalTime.of(11,11,11); LocalTime reviseLocalTime2 = localTime.withHour(12); LocalTime reviseLocalTime3 = localTime.withMinute(12); LocalTime reviseLocalTime4 = localTime.withSecond(12); System.out.println(localTime); System.out.println(reviseLocalTime2); System.out.println(reviseLocalTime3); System.out.println(reviseLocalTime4); System.out.println("--------------------------------------------"); LocalDateTime localDateTime = LocalDateTime.of(localDate,localTime); LocalDateTime reviseLocalDateTime2 = localDateTime.withYear(2028); LocalDateTime reviseLocalDateTime3 = localDateTime.withMonth(3); LocalDateTime reviseLocalDateTime4 = localDateTime.withDayOfMonth(9); LocalDateTime reviseLocalDateTime5 = localDateTime.withHour(10); LocalDateTime reviseLocalDateTime6 = localDateTime.withMinute(11); LocalDateTime reviseLocalDateTime7 = localDateTime.withSecond(12); System.out.println(localDateTime); System.out.println(reviseLocalDateTime2); System.out.println(reviseLocalDateTime3); System.out.println(reviseLocalDateTime4); System.out.println(reviseLocalDateTime5); System.out.println(reviseLocalDateTime6); System.out.println(reviseLocalDateTime7); } }
運(yùn)行結(jié)果如下:
????????1.5?LocalDate 類(lèi)與 LocalTime 類(lèi)、LocalDateTime 類(lèi)中的以?plus?開(kāi)頭實(shí)例方法?
? ? ? ? 通過(guò)以 plus 開(kāi)頭的實(shí)例方法,可以把某個(gè)信息增加,需要重點(diǎn)注意的是,每次增加對(duì)象某個(gè)信息的時(shí)候,都會(huì)返回一個(gè)新的對(duì)象。
代碼如下:
import java.time.LocalDateTime; import java.time.LocalDate; import java.time.LocalTime; public class LocalDate_LocalTime_LocalDateTime { public static void main(String[] args) { LocalDate localDate = LocalDate.of(2025,12,12); LocalDate reviseLocalDate2 = localDate.plusYears(5); LocalDate reviseLocalDate3 = localDate.plusMonths(11); LocalDate reviseLocalDate4 = localDate.plusDays(22); System.out.println(localDate); System.out.println(reviseLocalDate2); System.out.println(reviseLocalDate3); System.out.println(reviseLocalDate4); System.out.println("----------------------------------------"); LocalTime localTime = LocalTime.of(11,11,11); LocalTime reviseLocalTime2 = localTime.plusHours(12); LocalTime reviseLocalTime3 = localTime.plusMinutes(12); LocalTime reviseLocalTime4 = localTime.plusSeconds(12); System.out.println(localTime); System.out.println(reviseLocalTime2); System.out.println(reviseLocalTime3); System.out.println(reviseLocalTime4); System.out.println("-----------------------------------------"); LocalDateTime localDateTime = LocalDateTime.of(localDate,localTime); LocalDateTime reviseLocalDateTime2 = localDateTime.plusYears(2028); LocalDateTime reviseLocalDateTime3 = localDateTime.plusMonths(3); LocalDateTime reviseLocalDateTime4 = localDateTime.plusDays(9); LocalDateTime reviseLocalDateTime5 = localDateTime.plusHours(10); LocalDateTime reviseLocalDateTime6 = localDateTime.plusMinutes(11); LocalDateTime reviseLocalDateTime7 = localDateTime.plusSeconds(12); System.out.println(localDateTime); System.out.println(reviseLocalDateTime2); System.out.println(reviseLocalDateTime3); System.out.println(reviseLocalDateTime4); System.out.println(reviseLocalDateTime5); System.out.println(reviseLocalDateTime6); System.out.println(reviseLocalDateTime7); } }
運(yùn)行結(jié)果如下:
????????
????????1.6?LocalDate 類(lèi)與 LocalTime 類(lèi)、LocalDateTime 類(lèi)中的以 minus?開(kāi)頭實(shí)例方法?
? ? ? ? 通過(guò)以 minus?開(kāi)頭的實(shí)例方法,可以把某個(gè)信息減少,需要重點(diǎn)注意的是,每次減少對(duì)象某個(gè)信息的時(shí)候,都會(huì)返回一個(gè)新的對(duì)象。
代碼如下:
import java.time.LocalDateTime; import java.time.LocalDate; import java.time.LocalTime; public class LocalDate_LocalTime_LocalDateTime { public static void main(String[] args) { LocalDate localDate = LocalDate.of(2025,12,12); LocalDate reviseLocalDate2 = localDate.minusYears(5); LocalDate reviseLocalDate3 = localDate.minusMonths(11); LocalDate reviseLocalDate4 = localDate.minusDays(22); System.out.println(localDate); System.out.println(reviseLocalDate2); System.out.println(reviseLocalDate3); System.out.println(reviseLocalDate4); System.out.println("---------------------------------------"); LocalTime localTime = LocalTime.of(11,11,11); LocalTime reviseLocalTime2 = localTime.minusHours(12); LocalTime reviseLocalTime3 = localTime.minusMinutes(12); LocalTime reviseLocalTime4 = localTime.minusSeconds(12); System.out.println(localTime); System.out.println(reviseLocalTime2); System.out.println(reviseLocalTime3); System.out.println(reviseLocalTime4); System.out.println("----------------------------------------"); LocalDateTime localDateTime = LocalDateTime.of(localDate,localTime); LocalDateTime reviseLocalDateTime2 = localDateTime.minusYears(2028); LocalDateTime reviseLocalDateTime3 = localDateTime.minusMonths(3); LocalDateTime reviseLocalDateTime4 = localDateTime.minusDays(9); LocalDateTime reviseLocalDateTime5 = localDateTime.minusHours(10); LocalDateTime reviseLocalDateTime6 = localDateTime.minusMinutes(11); LocalDateTime reviseLocalDateTime7 = localDateTime.minusSeconds(12); System.out.println(localDateTime); System.out.println(reviseLocalDateTime2); System.out.println(reviseLocalDateTime3); System.out.println(reviseLocalDateTime4); System.out.println(reviseLocalDateTime5); System.out.println(reviseLocalDateTime6); System.out.println(reviseLocalDateTime7); } }
運(yùn)行結(jié)果如下:
????????1.7?LocalDate 類(lèi)與 LocalTime 類(lèi)、LocalDateTime 類(lèi)中 equals() 、isBefore()、isAfter() 例方法?
? ? ? ? equals()?用來(lái)判斷兩個(gè)相同類(lèi)型的對(duì)象的內(nèi)容如,日期、時(shí)間、日期時(shí)間是否相同。
????????isBefore()?用來(lái)判斷兩個(gè)相同類(lèi)型的對(duì)象的內(nèi)容如,日期、時(shí)間、日期時(shí)間是否為調(diào)用該方法的對(duì)象之前。
????????isAfter()?用來(lái)判斷兩個(gè)相同類(lèi)型的對(duì)象的內(nèi)容如,日期、時(shí)間、日期時(shí)間是否為調(diào)用該方法的對(duì)象之后。
以代碼如下(equals() 方法為例):
import java.time.LocalDateTime; import java.time.LocalDate; import java.time.LocalTime; public class LocalDate_LocalTime_LocalDateTime { public static void main(String[] args) { LocalDate a = LocalDate.of(2023,12,12); LocalDate b = LocalDate.of(2023,12,12); System.out.println(a.equals(b)); System.out.println("----------------------------------------"); LocalTime c = LocalTime.of(9,30,30); LocalTime d = LocalTime.of(9,30,30); System.out.println(c.equals(d)); System.out.println("----------------------------------------"); LocalDateTime e = LocalDateTime.of(a,c); LocalDateTime f = LocalDateTime.of(b,d); System.out.println(e.equals(f)); } }
運(yùn)行結(jié)果如下:
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-717621.html
? ? ? ? 小結(jié),這幾個(gè)類(lèi)的API,可以相對(duì)比的去學(xué)習(xí),不算很難,多敲代碼熟練掌握即可。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-717621.html
到了這里,關(guān)于進(jìn)階JAVA篇- LocalDate 類(lèi)與 LocalTime 類(lèi)、LocalDateTime 類(lèi)的常用API(六)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!