如何使用Java?8中DateTimeFormatter類(lèi)型轉(zhuǎn)換日期格式詳解
DateTimeFormatter類(lèi)將日期格式轉(zhuǎn)換為指定的格式
在Java 8中,可以使用DateTimeFormatter類(lèi)來(lái)將日期格式轉(zhuǎn)換為指定的格式(例如:yyyy-MM-dd HH:mm:ss)。
示例代碼
以下是將日期格式轉(zhuǎn)換為指定格式的示例代碼:
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class DateTimeFormatExample {
public static void main(String[] args) {
// 獲取當(dāng)前日期和時(shí)間
LocalDateTime dateTime = LocalDateTime.now();
// 定義日期時(shí)間格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 將日期時(shí)間按照指定格式進(jìn)行格式化
String formattedDateTime = dateTime.format(formatter);
// 打印格式化后的日期時(shí)間
System.out.println("Formatted DateTime: " + formattedDateTime);
}
}
// 輸出:Formatted DateTime: 2023-07-03 11:11:00在上述代碼中,首先獲取當(dāng)前的日期和時(shí)間LocalDateTime.now(),然后通過(guò)DateTimeFormatter.ofPattern()方法定義日期時(shí)間的格式,參數(shù)為指定的格式字符串("yyyy-MM-dd HH:mm:ss")。接下來(lái),使用format()方法將日期時(shí)間對(duì)象按照指定的格式進(jìn)行格式化,返回一個(gè)格式化后的字符串。最后,打印格式化后的日期時(shí)間。
除了上述的格式字符外,還可以使用其他字符來(lái)表示日期時(shí)間的分隔符,例如:-、/、:等。
需要注意的是,DateTimeFormatter是線程安全的,因此可以在多線程環(huán)境下共享和重用同一個(gè)DateTimeFormatter對(duì)象。
將DateTimeFormatter格式化的字符串轉(zhuǎn)類(lèi)型日期轉(zhuǎn)換成Date類(lèi)型
可以使用DateTimeFormatter和LocalDateTime相互轉(zhuǎn)換,然后再轉(zhuǎn)換為Date格式。
// 1.將DateTimeFormatter格式化的日期字符串轉(zhuǎn)換為L(zhǎng)ocalDateTime對(duì)象 LocalDateTime localDateTime = LocalDateTime.parse(formattedDateTime, formatter); // 2.將LocalDateTime轉(zhuǎn)換為Instant對(duì)象 Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant(); // 3.將Instant對(duì)象轉(zhuǎn)換為Date對(duì)象 Date date = Date.from(instant); // 輸出:Mon Jul 03 13:42:08 CST 2023
ZoneId.systemDefault()是一個(gè)靜態(tài)方法,用于獲取系統(tǒng)默認(rèn)的時(shí)區(qū)。
atZone()方法接受一個(gè)ZoneId參數(shù),用于指定時(shí)區(qū)。它將LocalDateTime對(duì)象與指定的時(shí)區(qū)進(jìn)行關(guān)聯(lián),并返回一個(gè)在該時(shí)區(qū)下的ZonedDateTime對(duì)象。
Date.from()方法是將Instant對(duì)象轉(zhuǎn)換為Date對(duì)象的靜態(tài)方法。
請(qǐng)注意,java.time包中的類(lèi)型(如LocalDateTime)是不可變類(lèi)型,而java.util.Date是可變類(lèi)型。因此,在使用過(guò)程中要注意確保線程安全性。如果需要頻繁轉(zhuǎn)換日期時(shí)間類(lèi)型,建議在整個(gè)應(yīng)用程序中使用java.time包。
以上就是如何使用Java 8中DateTimeFormatter類(lèi)詳解的詳細(xì)內(nèi)容,更多關(guān)于Java8 DateTimeFormatter類(lèi)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- java用LocalDateTime類(lèi)獲取當(dāng)天時(shí)間、前一天時(shí)間及本周/本月的開(kāi)始和結(jié)束時(shí)間
- Java中@DateTimeFormat @JsonFormat失效原因及測(cè)試填坑
- Java關(guān)于后端怎么去接收Date、LocalDateTime類(lèi)型的參數(shù)詳解
- Java8中對(duì)于LocalDateTime的序列化和反序列化問(wèn)題
- Java8中的LocalDateTime你會(huì)使用了嗎
- java Date獲取年月日時(shí)分秒的實(shí)現(xiàn)方法
- java整數(shù)(秒數(shù))轉(zhuǎn)換為時(shí)分秒格式的示例
- Java輸出系統(tǒng)當(dāng)前的日期(年月日時(shí)分秒毫秒)
- Java里得到00:00:00格式的時(shí)分秒的Timestamp
- java datetime數(shù)據(jù)類(lèi)型去掉時(shí)分秒的案例詳解
相關(guān)文章
SpringBoot配置連接兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)
本文主要介紹了SpringBoot配置連接兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
Java實(shí)現(xiàn)合并兩個(gè)word文檔內(nèi)容
這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)合并兩個(gè)word文檔內(nèi)容,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-11
Maven的國(guó)內(nèi)鏡像(快速解決jar下載過(guò)慢的問(wèn)題)
下面小編就為大家?guī)?lái)一篇Maven的國(guó)內(nèi)鏡像(快速解決jar下載過(guò)慢的問(wèn)題)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
java實(shí)現(xiàn)簡(jiǎn)單點(diǎn)贊功能
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單點(diǎn)贊功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08

