LocalDateTime 的常用操作
LocalDateTime 的常用操作
- 判斷兩個(gè) LocalDateTime 是否是同一天
- 判斷一個(gè) LocalDateTime 是否是今天
- 將 Date 對(duì)象轉(zhuǎn)化為 LocalDateTime
??對(duì)于日期時(shí)間,一直困擾著很多編程語言和開發(fā)者。要怪就怪地球公轉(zhuǎn)與自轉(zhuǎn)的規(guī)律如此不協(xié)調(diào)以及人類為什么發(fā)明出這么多不相容的歷法。對(duì)于 Java,很早以前就有了很多描述日期、時(shí)間的類了,如 java.util.Date、java.util.Calendar 等。現(xiàn)如今,最好使用 java.time.LocalDateTime。LocalDateTime 是 Java 8 引入的一種日期類。在功能上,它可以分解為 LocalDate、LocalTime 兩個(gè)類。前者表示年、月、日,后者表示時(shí)、分、秒、納秒。因此,LocalDateTime 可以將時(shí)間從年一直精確到納秒,可以說很強(qiáng)大了!
??本文將給出關(guān)于 LocalDateTime 的常用操作。(注意:1 秒 = 109^99 納秒。)
判斷兩個(gè) LocalDateTime 是否是同一天
public static boolean isTheSameDay(LocalDateTime first, LocalDateTime second) {var firstDay = first.toLocalDate();var secondDay = second.toLocalDate();return firstDay.equals(secondDay); }判斷一個(gè) LocalDateTime 是否是今天
??其中,方法 isTheSameDay 是自定義方法,實(shí)現(xiàn)已在上面給出。
public static boolean isToday(LocalDateTime dateTime) {return isTheSameDay(LocalDateTime.now(), dateTime); }將 Date 對(duì)象轉(zhuǎn)化為 LocalDateTime
??由于一個(gè)舊 API 的限制,有時(shí)候可以直接獲得的對(duì)象只能是 Date 對(duì)象,這個(gè)時(shí)候就需要將 Date 對(duì)象轉(zhuǎn)化為 LocalDateTime。其中,ZoneId 為時(shí)區(qū)。
public static LocalDateTime date2LocalDateTime(Date date, ZoneId zoneId) {return date.toInstant().atZone(zoneId).toLocalDateTime(); }??如果只使用中國的時(shí)區(qū),可以不提供時(shí)區(qū)形參。(其中,方法 date2LocalDateTime(Date date, ZoneId zoneId) 是自定義方法,實(shí)現(xiàn)已在上面給出。)
public static LocalDateTime date2LocalDateTime(Date date) {return date2LocalDateTime(date, ZoneId.of("Asia/Shanghai")); }總結(jié)
以上是生活随笔為你收集整理的LocalDateTime 的常用操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何联网获取北京时间
- 下一篇: 如何在 JavaFX 的 TextAre