成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入了解Java 8 新特性-日期時(shí)間API之LocalDate類

開發(fā) 前端
LocalDate.toEpochDay()的功能是將LocalDate對(duì)象轉(zhuǎn)換為自1970年1月1日以來(lái)的天數(shù)。這個(gè)方法返回的是一個(gè)長(zhǎng)整型(long)的值,它將此本地日期與指定的時(shí)間和作為參數(shù)傳遞的偏移量相結(jié)合,以計(jì)算epoch-second值,該值是從1970-01-01T00:00:00Z開始經(jīng)過(guò)的秒數(shù)。

LocalDate

Java 8的LocalDate類是Java日期和時(shí)間API的一部分,沒有時(shí)間和時(shí)區(qū)的概念,是線程安全的,用于表示不包含時(shí)間的日期,位于java.time包下。

核心方法

now()

按系統(tǒng)默認(rèn)的時(shí)區(qū)來(lái)獲取當(dāng)前日期,返回代表當(dāng)前日期的 LocalDate 實(shí)例。

@Test
public void test() {
    LocalDate now = LocalDate.now();//當(dāng)前日期
    String format = now.format(DateTimeFormatter.ISO_DATE);

   System.out.println(format);//輸出結(jié)果:2023-11-23 }

of(...)

接受一個(gè)年份(int)和兩個(gè)日期(int)作為參數(shù),返回一個(gè)表示該年某一天的 LocalDate 實(shí)例。日期的第一個(gè)參數(shù)范圍是1到31,第二個(gè)參數(shù)范圍是0到23。

public void test2() {
    LocalDate localDate = LocalDate.of(2023, 2, 1);//定義一個(gè)日期:2023-02-01
    LocalDate localDate1 = LocalDate.of(2023, Month.FEBRUARY, 1);//定義一個(gè)日期:2023-02-01
    boolean equals = localDate1.equals(localDate);
    System.out.println(equals);//輸出結(jié)果:true
}

ofEpochDay(...)

用于將給定的Unix時(shí)間戳(自1970年1月1日以來(lái)的天數(shù))轉(zhuǎn)換為 LocalDate 對(duì)象。這個(gè)方法返回一個(gè)表示該日期的 LocalDate 實(shí)例

@Test
public void test3() {
    LocalDate localDate2 = LocalDate.ofEpochDay(1);// 假設(shè)給定的Unix時(shí)間戳為1天
    String format = localDate2.format(DateTimeFormatter.ISO_DATE);
    System.out.println(format);//輸出結(jié)果:1970-01-02
}

ofInstant(...)

Instant 是 Java 中的一個(gè)時(shí)間類,表示一個(gè)瞬時(shí)的時(shí)間點(diǎn),精確到納秒。Instant.ofEpochSecond()用于根據(jù)秒數(shù)(從1970年1月1日00:00:00 UTC開始)創(chuàng)建一個(gè)新的 Instant 對(duì)象。LocalDate.ofInstant() 可以將給定的 Instant 對(duì)象轉(zhuǎn)換為 LocalDate 對(duì)象。

@Test
public void test4() {
    Long seconds = 24 * 60 * 60L;//一天的秒數(shù)
    LocalDate localDate = LocalDate.ofInstant(Instant.ofEpochSecond(seconds), ZoneId.systemDefault());
    String format = localDate.format(DateTimeFormatter.ISO_DATE);
    System.out.println(format);//輸出結(jié)果:1970-01-02
}

ofYearDay(...)

LocalDate.ofYearDay() 用于創(chuàng)建一個(gè)表示某一年中特定天數(shù)的 LocalDate 對(duì)象。方法接受兩個(gè)參數(shù):年份和一年中的天數(shù)。年份表示自1970年以來(lái)的年數(shù),天數(shù)表示一年中的第幾天。例如,1月1日是第1天,2月15日是第46天。需要注意的是,這個(gè)方法并不會(huì)對(duì)輸入的天數(shù)進(jìn)行有效性檢查,因此如果輸入的天數(shù)超出了給定年份的范圍(例如,在2月輸入了30),那么創(chuàng)建出來(lái)的 LocalDate 對(duì)象可能不準(zhǔn)確。

@Test
public void test5() {
    LocalDate localDate = LocalDate.ofYearDay(2023, 2);
    String format = localDate.format(DateTimeFormatter.ISO_DATE);
    System.out.println(format);//輸出結(jié)果:2023-01-02
}

get(...)

LocalDate.get(...) 可以獲取給定日期的特定部分,如年份、月份或日期。具體來(lái)說(shuō),如果你調(diào)用 LocalDate.get(ChronoField),其中 ChronoField 是 java.time.temporal.ChronoField 的實(shí)例,那么就會(huì)返回該日期對(duì)應(yīng)的特定部分。ChronoField 是一個(gè)枚舉類型,包含如 YEARMONTH_OF_YEARDAY_OF_MONTH 等各種表示時(shí)間的字段。

@Test
public void test6() {
    LocalDate localDate = LocalDate.now();
    int year = localDate.get(ChronoField.YEAR);//得到年份
    int month = localDate.get(ChronoField.MONTH_OF_YEAR);//得到月份
    int day = localDate.get(ChronoField.DAY_OF_MONTH);//得到當(dāng)月中第幾天
    int weekOfMonth = localDate.get(ChronoField.ALIGNED_WEEK_OF_MONTH);//得到當(dāng)月的第幾周
    System.out.println("year:"+year+",month:"+month+",day:"+day+",weekOfMonth:"+weekOfMonth);
}

getYear()、getMonthValue() 、getDayOfMonth()、getDayOfWeek()、getDayOfYear()

  • getYear(): 獲取該日期的年份部分。例如,對(duì)于日期 "2023-06-24",該方法將返回2023。
  • getMonthValue(): 獲取該日期的月份部分。例如,對(duì)于日期 "2023-06-24",該方法將返回6。
  • getDayOfMonth(): 獲取該日期中的月份中的日期部分。例如,對(duì)于日期 "2023-06-24",該方法將返回24。
  • getDayOfWeek(): 獲取該日期是星期幾的信息。該方法將返回一個(gè)枚舉類型的值,如MONDAY、TUESDAY等。
  • getDayOfYear(): 獲取該日期是當(dāng)年的第幾天。例如,對(duì)于日期 "2023-06-24",該方法將返回175。
@Test
public void test13() {
    LocalDate d1 = LocalDate.of(2023, 11, 23);
    int year = d1.getYear();//年份:023
    int monthValue = d1.getMonthValue();//月份:11
    int dayOfMonth = d1.getDayOfMonth();//當(dāng)月第幾天:23
    int dayOfWeek = d1.getDayOfWeek().getValue();//當(dāng)前周第幾天:4
    int dayOfYear = d1.getDayOfYear();//當(dāng)前年第幾天:327
}

parse(...)

LocalDate的parse()用于從字符串值創(chuàng)建LocalDate的實(shí)例。這個(gè)方法需要一個(gè)參數(shù),即要解析的字符串。該字符串不能為空。此方法返回的是從作為參數(shù)傳遞的字符串值獲得的LocalDate實(shí)例。

@Test
public void test7() {
    LocalDate parse = LocalDate.parse("2023-11-23", DateTimeFormatter.ISO_DATE);
    LocalDate parse1 = LocalDate.parse("2023-11-23");
    System.out.println(parse1.equals(parse));//輸出結(jié)果:true
}

format(...)

LocalDate的format()方法的功能是將日期進(jìn)行格式化,使用指定的格式化程序。具體來(lái)說(shuō),這個(gè)方法接受一個(gè)DateTimeFormatter對(duì)象作為參數(shù),這個(gè)對(duì)象定義了一個(gè)日期時(shí)間的格式。然后,這個(gè)方法會(huì)返回一個(gè)字符串,該字符串表示按照指定格式化程序格式化的日期。例如,如果我們有一個(gè)LocalDate對(duì)象代表著2019年5月8日的日期,我們可以使用format方法將它格式化為"MMM dd, yyyy"的格式,即"May 08, 2019"。

@Test
public void test8() {
    LocalDate now = LocalDate.now();
    String format = now.format(DateTimeFormatter.ISO_DATE);
    String format1 = now.format(DateTimeFormatter.ofPattern("yyyy/MM/dd"));
    System.out.println(format);//輸出結(jié)果:2023-11-23
    System.out.println(format1);//輸出結(jié)果:2023/11/23
}

atTime(...)

LocalDate.atTime(hour, minute)的功能是將給定的日期與特定時(shí)間進(jìn)行組合,生成一個(gè)LocalDateTime對(duì)象。具體來(lái)說(shuō),這個(gè)方法可以將日期部分和時(shí)間部分進(jìn)行組合。例如,如果你有一個(gè)LocalDate對(duì)象表示今天的日期,并且你想在下午3點(diǎn)鐘添加30分鐘的時(shí)間,你可以使用atTime方法來(lái)實(shí)現(xiàn)這個(gè)功能。

@Test
public void test9(){
    LocalDate now = LocalDate.now();
    LocalDateTime localDateTime = now.atTime(13, 30,59);
    String format = localDateTime.format(DateTimeFormatter.ISO_DATE_TIME);
    System.out.println(format);//輸出結(jié)果:2023-11-23T13:30:59
}

compareTo(...)

LocalDate.compareTo() 用于比較兩個(gè)日期對(duì)象。具體來(lái)說(shuō),這個(gè)方法將此日期與另一個(gè)日期進(jìn)行比較。如果此日期在時(shí)間上大于、等于或小于指定日期,則分別返回正整數(shù)、零或負(fù)整數(shù)。

@Test
public void test10() {
    LocalDate t1 = LocalDate.of(2023, 2, 1);//定義一個(gè)日期:2023-02-01
    LocalDate t2 = LocalDate.of(2023, Month.FEBRUARY, 2);//定義一個(gè)日期:2023-02-02
    int i = t2.compareTo(t1);//如果t2>t1,,返回正數(shù);如果t2=t1,返回0;如果t2<t1,返回負(fù)數(shù);System.out.println(i);//
}

datesUntil(...)

LocalDate.datesUntil(...) 用于計(jì)算從當(dāng)前日期到指定日期之間的日期范圍。該方法返回一個(gè)表示該日期范圍的流(Stream)。具體來(lái)說(shuō),datesUntil(LocalDate endExclusive) 重載形式接受一個(gè)終止日期參數(shù),并返回從調(diào)用 datesUntil() 方法的 LocalDate 對(duì)象(起始日期)到終止日期之前的所有日期的流。

@Test
public void test11() {
    LocalDate d1 = LocalDate.of(2023, 2, 26);
    LocalDate d2 = LocalDate.of(2023, 3, 26);
    Stream<LocalDate> stream = d1.datesUntil(d2);
    stream.forEach(System.out::println);//注意:輸出結(jié)果不包含結(jié)束日期
    Stream<LocalDate> stream1 = d1.datesUntil(d2, Period.ofDays(5));//輸出的日期之間的間隔是5天
    stream1.forEach(System.out::println);
}

from(...)

LocalDate.from(...) 用于從給定的 TemporalAccessor 對(duì)象創(chuàng)建 LocalDate 的實(shí)例。TemporalAccessor 是Java時(shí)間日期API中的一個(gè)接口,它提供了對(duì)日期和時(shí)間信息的訪問權(quán)限,LocalDate、LocalDateTime等都實(shí)現(xiàn)了該接口;

@Test
public void test12(){
    LocalDateTime nowTime = LocalDateTime.now();
    LocalDate from = LocalDate.from(nowTime);
    String format = from.format(DateTimeFormatter.ISO_DATE);
    System.out.println(format);
}

isAfter(...)、isBefore(...)

LocalDate類的isAfter()和isBefore()方法分別用于檢查一個(gè)日期是否在另一個(gè)日期之后或之前。

具體來(lái)說(shuō):

  • isAfter(ChronoLocalDate other): 此方法檢查此日期是否在給定日期之后。如果當(dāng)前日期在給定日期之后,它將返回true,否則返回false。
  • isBefore(ChronoLocalDate other): 此方法檢查此日期是否在給定日期之前。如果當(dāng)前日期在給定日期之前,它將返回true,否則返回false。
@Test
public void test14() {
    LocalDate d1 = LocalDate.of(2023, 11, 23);
    LocalDate d2 = LocalDate.of(2023, 11, 24);
    boolean after = d1.isAfter(d2);
    System.out.println(after);//輸出結(jié)果:false
    boolean before = d1.isBefore(d2);
    System.out.println(before);//輸出結(jié)果:true
}

isLeapYear()

LocalDate.isLeapYear() 用于判斷給定的年份是否為閏年。閏年的判斷規(guī)則是這樣的:如果年份能被4整除但不能被100整除,或者能被400整除,那么這個(gè)年份就是閏年。

@Test
public void test15() {
    LocalDate d1 = LocalDate.of(2020, 11, 23);
    LocalDate d2 = LocalDate.of(2023, 11, 24);
    boolean after = d1.isLeapYear();
    System.out.println(after);//輸出結(jié)果:true
    boolean before = d2.isLeapYear();
    System.out.println(before);//輸出結(jié)果:false
}

lengthOfMonth()、lengthOfYear()

LocalDate的lengthOfMonth()方法用于獲取此LocalDate表示的月份的長(zhǎng)度,即該月份的天數(shù)。而lengthOfYear()方法則用于獲取此LocalDate表示的年份的長(zhǎng)度,即該年份的總天數(shù)。這兩個(gè)方法都是用于計(jì)算日期時(shí)間的長(zhǎng)度,方便進(jìn)行日期的計(jì)算和比較。

@Test
public void test16() {
    LocalDate d1 = LocalDate.of(2020, 2, 23);
    int i = d1.lengthOfYear();
    System.out.println(i);//輸出結(jié)果:366
    int j = d1.lengthOfMonth();
    System.out.println(j);//輸出結(jié)果:29
}

minus(...)、minusDays(...)、minusMonths(...)、minusWeeks(...)、minusYears(...)

這些方法都是Java中LocalDate類的方法,用于進(jìn)行日期減法操作,返回一個(gè)新的LocalDate對(duì)象,表示減去指定時(shí)間間隔后的日期。

  • minus(...):此方法用于減去給定的時(shí)間間隔。它接受一個(gè)TemporalAmount參數(shù),可以是時(shí)間單位(如小時(shí),分鐘,天,月,年等)。
  • minusDays(int n):此方法用于減去給定數(shù)量的天數(shù)。參數(shù)n是一個(gè)整數(shù),表示要減去的天數(shù)。
  • minusMonths(int n):此方法用于減去給定數(shù)量的月份。參數(shù)n是一個(gè)整數(shù),表示要減去的月份數(shù)。
  • minusWeeks(int n):此方法用于減去給定數(shù)量的周數(shù)。參數(shù)n是一個(gè)整數(shù),表示要減去的周數(shù)。
  • minusYears(int n):此方法用于減去給定數(shù)量的年數(shù)。參數(shù)n是一個(gè)整數(shù),表示要減去的年數(shù)。
@Test
public void test17() {
    LocalDate d1 = LocalDate.of(2023, 11, 23);
    LocalDate minus = d1.minus(Period.ofDays(3));//當(dāng)前日期+3天
    String format = minus.format(DateTimeFormatter.ISO_DATE);
    System.out.println(format);//輸出結(jié)果:2023-11-20
    LocalDate minus2 = d1.minusDays(3);//當(dāng)前日期減去3天
    String format2 = minus2.format(DateTimeFormatter.ISO_DATE);
    System.out.println(format2);//輸出結(jié)果:2023-11-20
    LocalDate minus3 = d1.minusMonths(1);//當(dāng)前日期減去1月
    String format3 = minus3.format(DateTimeFormatter.ISO_DATE);
    System.out.println(format3);//輸出結(jié)果:2023-10-23
    LocalDate minus4 = d1.minusWeeks(1);//當(dāng)前日期減去1周
    String format4 = minus4.format(DateTimeFormatter.ISO_DATE);
    System.out.println(format4);//輸出結(jié)果:2023-11-16
    LocalDate minus5 = d1.minusYears(1);//當(dāng)前日期減去1年
    String format5 = minus5.format(DateTimeFormatter.ISO_DATE);
    System.out.println(format5);//輸出結(jié)果:2022-11-23
}

plus(...)、plusDays(...)、plusMonths(...)、plusWeeks(...)、plusYears(...)

LocalDate類的plus(...)方法是一個(gè)通用方法,用于在給定時(shí)間單位上增加日期。具體的單位可以通過(guò)傳遞一個(gè)ChronoUnit對(duì)象來(lái)指定,例如plusDays(int days)、plusMonths(int months)、plusWeeks(int weeks)、plusYears(int years)等。

這些方法用于增加LocalDate對(duì)象的日期。例如:

  • plusDays(int days):增加給定天數(shù)。
  • plusMonths(int months):增加給定月數(shù)。
  • plusWeeks(int weeks):增加給定周數(shù)。
  • plusYears(int years):增加給定年數(shù)。

需要注意的是,這些方法返回的是一個(gè)新的LocalDate對(duì)象,而不是修改原有的對(duì)象。因此,需要將結(jié)果賦值給一個(gè)變量來(lái)使用增加后的日期。

@Test
public void test17() {
    LocalDate d1 = LocalDate.of(2023, 11, 23);
    LocalDate plus = d1.plus(Period.ofDays(3));//當(dāng)前日期+3天
    String format = plus.format(DateTimeFormatter.ISO_DATE);
    System.out.println(format);//輸出結(jié)果:2023-11-26
    LocalDate plus2 = d1.plusDays(3);//當(dāng)前日期+3天
    String format2 = plus2.format(DateTimeFormatter.ISO_DATE);
    System.out.println(format2);//輸出結(jié)果:2023-11-26
    LocalDate plus3 = d1.plusMonths(1);//當(dāng)前日期+1月
    String format3 = plus3.format(DateTimeFormatter.ISO_DATE);
    System.out.println(format3);//輸出結(jié)果:2023-12-23
    LocalDate plus4 = d1.plusWeeks(1);//當(dāng)前日期+1周
    String format4 = plus4.format(DateTimeFormatter.ISO_DATE);
    System.out.println(format4);//輸出結(jié)果:2023-11-30
    LocalDate plus5 = d1.plusYears(1);//當(dāng)前日期+1年
    String format5 = plus5.format(DateTimeFormatter.ISO_DATE);
    System.out.println(format5);//輸出結(jié)果:2024-11-23
}

toEpochDay()、toEpochSecond(...)

LocalDate.toEpochDay()的功能是將LocalDate對(duì)象轉(zhuǎn)換為自1970年1月1日以來(lái)的天數(shù)。這個(gè)方法返回的是一個(gè)長(zhǎng)整型(long)的值,它將此本地日期與指定的時(shí)間和作為參數(shù)傳遞的偏移量相結(jié)合,以計(jì)算epoch-second值,該值是從1970-01-01T00:00:00Z開始經(jīng)過(guò)的秒數(shù)。

LocalDate.toEpochSecond(LocalTime time, ZoneOffset offset)的功能是將此本地日期與指定的時(shí)間和作為參數(shù)傳遞的偏移量相結(jié)合,以計(jì)算epoch-second值。這個(gè)方法接受兩個(gè)參數(shù),timeoffset,它們是本地時(shí)間和區(qū)域偏移。該方法返回一個(gè)長(zhǎng)整型(long)的值,表示自1970-01-01T00:00:00Z以來(lái)的秒數(shù)。

@Test
public void test19() {
    LocalDate d1 = LocalDate.of(2023, 11, 23);
    long epochDay = d1.toEpochDay();//自1970-01-01年到當(dāng)前日期的天數(shù)
    System.out.println(epochDay);
    long epochSecond = d1.toEpochSecond(LocalTime.now(), ZoneOffset.ofHours(8));//自1970-01-01到當(dāng)前日期的秒數(shù);中國(guó)位于東8區(qū),區(qū)域偏移量為+8
    LocalDate localDate = LocalDate.ofInstant(Instant.ofEpochSecond(epochSecond), ZoneId.systemDefault());//把得到秒數(shù)再轉(zhuǎn)換為locaDate
    System.out.println(localDate.equals(d1));//輸出結(jié)果為true
}

with(...)

LocalDate.with(...)參數(shù)是一個(gè) TemporalAdjuster,那么 with 方法會(huì)使用傳遞的調(diào)整器作為參數(shù)來(lái)調(diào)整此日期時(shí)間,并在調(diào)整后,返回調(diào)整后的日期時(shí)間的副本。

TemporalAdjuster是一個(gè)Java 8中引入的日期時(shí)間API,用于執(zhí)行復(fù)雜的日期操作。它是一個(gè)函數(shù)式接口,可以在Temporal對(duì)象上執(zhí)行操作,例如獲得下一個(gè)星期日、當(dāng)月的最后一天或下一年的第一天。

TemporalAdjuster有幾個(gè)預(yù)定義的實(shí)現(xiàn)類,包括LocalDate、LocalDateTime和TemporalAdjuster接口本身。這些實(shí)現(xiàn)類可以用于調(diào)整Temporal對(duì)象的日期和時(shí)間。

使用TemporalAdjuster可以非常方便地執(zhí)行各種日期操作,例如:

獲取下一個(gè)星期日的日期。

獲取當(dāng)月的最后一天的日期。

獲取下一年的第一天的日期。

獲取某個(gè)日期之后的第N天、第N個(gè)星期或第N個(gè)月之后的日期。

獲取某個(gè)日期和時(shí)間之后的下一個(gè)工作日、下一個(gè)周末或下一個(gè)公眾假日。

@Test
public void test20() {
    UnaryOperator<LocalDate> unaryOperator = item -> item.minusDays(1);//日期調(diào)節(jié)邏輯:減去1天
    TemporalAdjuster temporalAdjuster = TemporalAdjusters.ofDateAdjuster(unaryOperator);//構(gòu)造日期調(diào)節(jié)器類
    LocalDate localDate1 = LocalDate.of(2023, 11, 22);//日期:2023-11-22
    LocalDate localDate2 = localDate1.with(temporalAdjuster);//執(zhí)行調(diào)節(jié)邏輯,并返回調(diào)節(jié)后結(jié)果
    String dateStr2 = localDate2.format(DateTimeFormatter.ISO_DATE);
    System.out.println(dateStr2);//輸出結(jié)果:2023-11-21
}

withDayOfMonth(...)、withDayOfYear(...)

LocalDate類中的withDayOfMonth(...)withDayOfYear(...)方法用于調(diào)整日期的天數(shù)。

withDayOfMonth(int dayOfMonth)方法接受一個(gè)整數(shù)參數(shù),表示月份中的某一天。該方法將此日期調(diào)整為給定日期的月份中的指定天數(shù),并返回一個(gè)新的日期對(duì)象。例如,如果當(dāng)前日期是2023年3月10日,調(diào)用withDayOfMonth(15)將返回一個(gè)新的日期對(duì)象,表示2023年3月15日。

withDayOfYear(int dayOfYear)方法接受一個(gè)整數(shù)參數(shù),表示一年中的某一天。該方法將此日期調(diào)整為給定年份中的指定天數(shù),并返回一個(gè)新的日期對(duì)象。例如,如果當(dāng)前日期是2023年3月10日,調(diào)用withDayOfYear(150)將返回一個(gè)新的日期對(duì)象,表示2023年7月10日(因?yàn)?月有31天,所以150減去3月的剩余天數(shù))。

這兩個(gè)方法都返回一個(gè)新的日期對(duì)象,不會(huì)修改原始的LocalDate對(duì)象。這些方法可以用于執(zhí)行各種日期調(diào)整操作,例如計(jì)算下個(gè)月的第一天或上個(gè)月的最后一天等。

@Test
public void test21() {
    LocalDate d1 = LocalDate.of(2023, 11, 22);//日期:2023-11-22
    LocalDate d2 = d1.withDayOfMonth(1);
    String format = d2.format(DateTimeFormatter.ISO_DATE);
    System.out.println(format);//輸出結(jié)果:2023-11-01
    LocalDate localDate3 = d1.withDayOfYear(1);
    String format2 = localDate3.format(DateTimeFormatter.ISO_DATE);
    System.out.println(format2);//輸出結(jié)果:2023-01-01


}

atStartOfDay()

LocalDate.atStartOfDay() 返回一個(gè) LocalDateTime 實(shí)例,該實(shí)例表示給定日期的午夜時(shí)分。具體來(lái)說(shuō),它會(huì)把日期部分設(shè)為當(dāng)前日期的開始時(shí)間(24小時(shí)制),時(shí)間部分設(shè)為 00:00:00。例如,如果今天是2023年6月24日,那么 LocalDate.now().atStartOfDay() 將返回一個(gè)表示2023年6月24日00:00:00的 LocalDateTime 對(duì)象。

@Test
public void test22() {
    LocalDate d= LocalDate.of(2023, 11, 22);
    LocalDateTime localDateTime = d.atStartOfDay();
    String format = localDateTime.format(DateTimeFormatter.ISO_DATE_TIME);
    System.out.println(format);//輸出結(jié)果:2023-11-22T00:00:00
}

適用場(chǎng)景

  • 日期處理:LocalDate類適用于只需要處理日期的場(chǎng)景,而不考慮時(shí)間部分。例如,記錄生日、紀(jì)念日、賬單日等。
  • 日期計(jì)算:可以使用LocalDate類進(jìn)行日期的加減運(yùn)算,例如計(jì)算兩個(gè)日期之間的天數(shù)、月數(shù)或年數(shù)。
  • 日期格式化:可以使用LocalDate類和DateTimeFormatter類進(jìn)行日期的格式化操作,將日期轉(zhuǎn)換為指定的字符串格式。
  • 日期時(shí)間轉(zhuǎn)換:可以將帶有時(shí)間的日期轉(zhuǎn)換為不帶時(shí)間的LocalDate對(duì)象,或者將LocalDate對(duì)象轉(zhuǎn)換為帶有時(shí)間的日期時(shí)間對(duì)象(如LocalDateTime)。
責(zé)任編輯:武曉燕 來(lái)源: 凡夫貶夫
相關(guān)推薦

2024-02-04 08:35:03

APIJava 8數(shù)據(jù)庫(kù)

2023-12-29 08:54:02

Optional個(gè)性化服務(wù)

2023-12-28 08:00:40

lambda表達(dá)式Java 8

2022-02-28 10:30:03

架構(gòu)代碼Native

2023-10-06 00:04:02

2014-04-16 07:29:02

Java8Java日期

2010-06-23 20:31:54

2010-07-13 09:36:25

2010-11-19 16:22:14

Oracle事務(wù)

2009-08-25 16:27:10

Mscomm控件

2020-09-21 09:53:04

FlexCSS開發(fā)

2022-08-26 13:48:40

EPUBLinux

2020-07-20 06:35:55

BashLinux

2023-11-02 07:55:31

Python對(duì)象編程

2011-07-18 15:08:34

2022-06-03 10:09:32

威脅檢測(cè)軟件

2010-11-15 11:40:44

Oracle表空間

2018-06-22 13:05:02

前端JavaScript引擎

2021-01-19 12:00:39

前端監(jiān)控代碼

2010-09-27 09:31:42

JVM內(nèi)存結(jié)構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久在线 | av久久 | 久久免费香蕉视频 | 欧美在线一区视频 | 天堂中文在线观看 | 老牛嫩草一区二区三区av | 毛片免费观看 | 精品久久久久久红码专区 | 亚洲精品久久久久久下一站 | 三级在线视频 | 一区二区三区四区在线视频 | 亚洲色欲色欲www | 99pao成人国产永久免费视频 | 久久大全 | 日韩欧美视频免费在线观看 | 欧美a区| 手机av网| 一区二区三区国产精品 | 欧美日韩成人在线 | 欧美一a一片一级一片 | 精品国模一区二区三区欧美 | 99pao成人国产永久免费视频 | 伊人无码高清 | 午夜日韩| 日韩欧美在线不卡 | 久草视频观看 | 韩国av一区二区 | 精品一区免费 | 国产h在线 | 五月天激情综合网 | 欧美激情综合五月色丁香小说 | 蜜桃一区二区三区 | 99精彩视频 | 国产精品成人一区二区三区 | 国产在线拍偷自揄拍视频 | 福利视频网站 | 一级黄色片日本 | 亚洲三区在线观看 | 久久综合九九 | 波多野吉衣在线播放 | 久久久观看 |