Java?LocalDateTime獲取時間信息、格式化、轉換為數(shù)字時間戳代碼示例
一、描述
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、轉換為數(shù)字時間戳
ZonedDateTime zonedDateTime = now.atZone(ZoneId.of("Asia/Shanghai")); Instant instant = zonedDateTime.toInstant(); long milli = instant.toEpochMilli(); // 以毫秒為單位的時間戳 long second = instant.getEpochSecond(); // 以秒為單位的時間戳
6、數(shù)字時間戳轉為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獲取時間信息、格式化、轉換為數(shù)字時間戳的文章就介紹到這了,更多相關Java LocalDateTim基本使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java設計模式之備忘錄模式_動力節(jié)點Java學院
我們在編程的時候,經(jīng)常需要保存對象的中間狀態(tài),當需要的時候,可以恢復到這個狀態(tài)。接下來通過本文給大家分享java設計模式之備忘錄模式,感興趣的的朋友一起看看吧2017-08-08使用SpringBoot實現(xiàn)自動發(fā)送注冊驗證碼郵件功能
一直以來,我都對程序如何自動發(fā)送郵件感到好奇,想象一下,當你在某個網(wǎng)站注冊時,輸入郵箱后不久就收到一封帶有驗證碼的郵件,這種體驗既方便又高效,所以本文給大家介紹了如何用?Spring?Boot?實現(xiàn)自動發(fā)送注冊驗證碼郵件,需要的朋友可以參考下2025-04-04hibernate 中 fetch=FetchType.LAZY 懶加載失敗處理方法
這篇文章主要介紹了hibernate 中 fetch=FetchType.LAZY 懶加載失敗處理方法,需要的朋友可以參考下2017-09-09