Java?LocalDateTime獲取時間信息、格式化、轉換為數字時間戳代碼示例
一、描述
LocalDateTime是Java 8引入的日期和時間API (java.time包)中的一個類,不包含時區(qū)信息。它是一個不可變的類,提供了各種方法來處理日期和時間,且不關心時區(qū)的概念。若需要添加時區(qū)信息,可以使用atZone()方法轉換為ZonedDateTime進行處理:
LocalDateTime now = LocalDateTime.now();
ZonedDateTime zonedDateTime = now.atZone(ZoneId.of("Asia/Shanghai"));
二、基本使用
1、獲取LocalDateTime時間
// 當前時間
LocalDateTime now = LocalDateTime.now();
// 5050年12月12日 14時30分 30秒 30納秒 (秒和納秒的部分可以省略)
LocalDateTime futureTime = LocalDateTime.of(5050, 12, 12, 14, 30, 30, 30);
// 添加: plus..() plusDays、plusMonth、plusYears...
LocalDateTime newTime_01 = now.plusDays(1); // 后一天
// 減少: minus..() minusDays、minusMonth、minusYears...
LocalDateTime newTime_02 = now.minusDays(1); // 前一天
// 設置各部分時間
LocalDateTime newYear = now.withYear(4040); // 改為4040年
LocalDateTime newMinute = now.withMinute(10); // 改為10月份
LocalDateTime newDay = now.withDayOfMonth(12); // 改為12日
// 通過字符串獲取
String timeString = "5050-12-12 14:30";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
LocalDateTime parseTime = LocalDateTime.parse(timeString, formatter);2、時間比較
boolean isBefore = now.isBefore(newTime_01); boolean isAfter = now.isAfter(newTime_01); boolean isEqual = now.isEqual(newTime_01);
3、獲取基本時間信息:
// get..() getHour、getMinute、getSecond... int year = now.getYear(); Month month = now.getMonth(); // Month是枚舉,返回值為月份的英文大寫 int hour = now.getHour(); // 其余同理
4、格式化 / 反格式化
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 轉換為字符串
String timeString = format.format(futureTime);
// 字符串轉換為LocalDateTime
LocalDateTime parseTime = LocalDateTime.parse(timeString, format);5、轉換為數字時間戳
ZonedDateTime zonedDateTime = now.atZone(ZoneId.of("Asia/Shanghai"));
Instant instant = zonedDateTime.toInstant();
long milli = instant.toEpochMilli(); // 以毫秒為單位的時間戳
long second = instant.getEpochSecond(); // 以秒為單位的時間戳6、數字時間戳轉為LocalDateTime
// 以 毫秒 為單位的時間戳轉為LocalDateTime
LocalDateTime timeByMilli = Instant.ofEpochMilli(milli).atZone(ZoneId.of("Asia/Shanghai")).toLocalDateTime();
// 以 秒 為單位的時間戳轉為LocalDateTime
LocalDateTime timeBySecond = Instant.ofEpochSecond(second).atZone(ZoneId.of("Asia/Shanghai")).toLocalDateTime();
// LocalDate、LocalTime同理總結
到此這篇關于Java LocalDateTime獲取時間信息、格式化、轉換為數字時間戳的文章就介紹到這了,更多相關Java LocalDateTim基本使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java設計模式之備忘錄模式_動力節(jié)點Java學院
我們在編程的時候,經常需要保存對象的中間狀態(tài),當需要的時候,可以恢復到這個狀態(tài)。接下來通過本文給大家分享java設計模式之備忘錄模式,感興趣的的朋友一起看看吧2017-08-08
使用SpringBoot實現(xiàn)自動發(fā)送注冊驗證碼郵件功能
一直以來,我都對程序如何自動發(fā)送郵件感到好奇,想象一下,當你在某個網站注冊時,輸入郵箱后不久就收到一封帶有驗證碼的郵件,這種體驗既方便又高效,所以本文給大家介紹了如何用?Spring?Boot?實現(xiàn)自動發(fā)送注冊驗證碼郵件,需要的朋友可以參考下2025-04-04
hibernate 中 fetch=FetchType.LAZY 懶加載失敗處理方法
這篇文章主要介紹了hibernate 中 fetch=FetchType.LAZY 懶加載失敗處理方法,需要的朋友可以參考下2017-09-09

