亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java8日期時(shí)間類LocalDateTime比較大小舉例

 更新時(shí)間:2024年05月28日 11:26:22   作者:dingcho  
LocalDate是Java?8中的日期類之一,它表示一個(gè)日期,下面這篇文章主要給大家介紹了關(guān)于Java8日期時(shí)間類LocalDateTime比較大小的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

LocalDateTime是Java 8中的一個(gè)日期時(shí)間類,它繼承自LocalDate和LocalTime,可以表示一個(gè)不含時(shí)區(qū)信息的日期時(shí)間對象。通過LocalDateTime可以方便地進(jìn)行日期時(shí)間計(jì)算、格式化等操作

1、equals()方法

LocalDateTime localDateTime1 = LocalDateTime.of(2023, 12, 24, 8, 30, 0);
LocalDateTime localDateTime2 = LocalDateTime.of(2023, 12, 24, 8, 30, 0);
// 返回 true
boolean result = localDateTime1.equals(localDateTime2); 

2、compareTo()方法

 LocalDateTime localDateTime1 = LocalDateTime.of(2023, 12, 24, 8, 30, 0);
 LocalDateTime localDateTime2 = LocalDateTime.of(2023, 12, 24, 8, 40, 0);
 // 返回 -1
 int result = localDateTime1.compareTo(localDateTime2);

3、isBefore()方法

/**
* LocalDateTime的isBefore()方法用于判斷一個(gè)LocalDateTime是否在另一個(gè)LocalDateTime之前。
* 如果當(dāng)前對象在另一個(gè)對象之前,返回true;否則返回false。
*/
 LocalDateTime localDateTime1 = LocalDateTime.of(2023, 12, 24, 8, 30, 0);
 LocalDateTime localDateTime2 = LocalDateTime.of(2023, 12, 24, 8, 40, 0);

// 返回 true
boolean result = localDateTime1.isBefore(localDateTime2); 

4、isAfter()方法

/**
* LocalDateTime的isAfter()方法用于判斷一個(gè)LocalDateTime是否在另一個(gè)LocalDateTime之后。
* 如果當(dāng)前對象在另一個(gè)對象之后,返回true;否則返回false。
*/
 LocalDateTime localDateTime1 = LocalDateTime.of(2023, 12, 24, 8, 30, 0);
 LocalDateTime localDateTime2 = LocalDateTime.of(2023, 12, 24, 8, 40, 0);

// 返回 false
boolean result = localDateTime1.isAfter(localDateTime2); 

需要注意的是,當(dāng)使用compareTo()方法比較兩個(gè)LocalDateTime對象時(shí),如果兩個(gè)對象的日期時(shí)間值相同,但是它們的時(shí)區(qū)信息不同,仍然會(huì)返回0。因此在進(jìn)行日期時(shí)間比較時(shí),需要確保兩個(gè)LocalDateTime對象的時(shí)區(qū)信息相同。

附:LocalDateTime 轉(zhuǎn) Date

LocalDateTime不包括時(shí)區(qū),而Date代表一個(gè)具體的時(shí)間瞬間,精度為毫秒。

為了從LocalDateTime轉(zhuǎn)換到Date,我們需要提供時(shí)區(qū)。

LocalDateTime + Time-Zone = Date

我們可以用以下方法將LocalDateTime轉(zhuǎn)換為Date

1.用 LocalDateTime.atZone(): 它把這個(gè)日期時(shí)間和一個(gè)給定的時(shí)區(qū)結(jié)合起來,創(chuàng)建一個(gè)ZonedDateTime。然后這個(gè)ZonedDateTime可以被轉(zhuǎn)換為Instant。Date.from()方法接受Instant并返回相等的Date實(shí)例。

LocalDateTime localDateTime = LocalDateTime.parse("2019-11-15T13:15:30");
Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
Date date = Date.from(instant);
System.out.println(date);

2.用 LocalDateTime.toInstant(): 它將這個(gè)本地的日期時(shí)間和指定的偏移量結(jié)合起來,形成Instant。

instant = localDateTime.toInstant(ZoneOffset.UTC);
date = Date.from(instant);
System.out.println(date);

3.用 Timestamp.valueOf(): 它將一個(gè)JDBC時(shí)間戳轉(zhuǎn)義格式的字符串對象轉(zhuǎn)換為一個(gè)Timestamp值。給定的字符串日期應(yīng)該是yyyy-MM-dd HH:mm:ss格式。

instant = Timestamp.valueOf(localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))).toInstant();
date = Date.from(instant);
System.out.println(date);

為了創(chuàng)建Date實(shí)例,我們也使用Date構(gòu)造函數(shù)來傳遞時(shí)間,單位為毫秒。

Timestamp timestamp = Timestamp.valueOf(localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
date = new Date(timestamp.getTime());
System.out.println(date);

總結(jié)

到此這篇關(guān)于Java8日期時(shí)間類LocalDateTime比較大小的文章就介紹到這了,更多相關(guān)Java LocalDateTime比較大小內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論