一、localdatetime格式化nov
LocalDateTime是Java 8(或更高版本)中的一個(gè)日期-時(shí)間API。它提供了在應(yīng)用程序中表示日期、時(shí)間和日期-時(shí)間值的功能。在Java中,LocalDateTime通常被用來表示一年中的某個(gè)日期和時(shí)間。以下代碼演示如何格式化LocalDateTime為“November 08, 2021”:
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMMM dd, yyyy");
String formattedDateTime = now.format(formatter);
System.out.println("Formatted LocalDateTime: " + formattedDateTime);
本例中,我們使用ofPattern()方法為DateTimeFormatter對(duì)象指定了格式。此方法的參數(shù)是一個(gè)字符串,其中包含用單引號(hào)括起來的字符,這些字符指定要格式化的日期和時(shí)間組件(例如月份、日、年等)。我們將使用MMMM dd, yyyy格式化我們的日期和時(shí)間,并將結(jié)果存儲(chǔ)在一個(gè)字符串中。最后,我們使用System.out.println()在控制臺(tái)上打印格式化的日期和時(shí)間。
二、localdatetime格式化毫秒
在Java中,LocalDateTime類型表示的日期和時(shí)間不包含毫秒級(jí)別的精度。但是,我們可以使用LocalDateTime實(shí)例的withNano()方法將毫秒級(jí)別的精度添加到時(shí)間中。以下代碼演示如何將郵戳添加到LocalDateTime實(shí)例:
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS");
String formattedDateTime = now.withNano(123456789).format(formatter);
System.out.println("Formatted LocalDateTime with milliseconds: " + formattedDateTime);
在這個(gè)例子中,我們首先獲取當(dāng)前的LocalDateTime實(shí)例。然后,我們使用ofPattern()方法為DateTimeFormatter對(duì)象指定格式,其中:yyyy-MM-dd HH:mm:ss:SSS表示年-月-日 時(shí):分:秒:毫秒。接下來,我們使用withNano()方法向時(shí)間添加毫秒精度。最后,我們使用System.out.println()在控制臺(tái)上打印格式化的日期和時(shí)間。
三、localdatetime格式化注解
Java中的LocalDateTime類為格式化日期和時(shí)間提供了許多選項(xiàng)。格式化選項(xiàng)包括日期格式、時(shí)間格式、時(shí)區(qū)、日期分隔符、時(shí)間分隔符等等。這些選項(xiàng)可以通過DateTimeFormatter類來設(shè)置。
以下是一些常用的DateTimeFormatter格式選項(xiàng)的注釋:
"yyyy":4位數(shù)的年份 "yy":2位數(shù)的年份 "MM":2位數(shù)的月份(1到12) "dd":2位數(shù)的日期(1到31) "hh":2位數(shù)的小時(shí)(1到12) "HH":2位數(shù)的小時(shí)(0到23) "mm":2位數(shù)的分鐘(0到59) "ss":2位數(shù)的秒(0到59) "SSS":3位數(shù)的毫秒 "a":上午/下午標(biāo)記四、localdatetime格式化獲取當(dāng)前時(shí)間
要獲取當(dāng)前的日期和時(shí)間,我們可以使用LocalDateTime.now()方法。以下是一個(gè)簡單的示例:
LocalDateTime now = LocalDateTime.now();
System.out.println("Current datetime: " + now);
輸出將類似于:2021-11-08T16:21:42.050690300。它包含日期、時(shí)間和毫秒。如果您只需要日期或時(shí)間,可以使用LocalDate或LocalTime類。
五、localdate格式化
LocalDate是Java 8中的另一個(gè)日期-時(shí)間API。它表示一個(gè)日期(年、月、日)。要格式化LocalDate,您可以使用DateTimeFormatter類的ofPattern()方法。以下是一個(gè)示例:
LocalDate date = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEEE, MMMM dd, yyyy");
String formattedDate = date.format(formatter);
System.out.println("Formatted LocalDate: " + formattedDate);
在這個(gè)例子中,我們使用ofPattern()方法為DateTimeFormatter對(duì)象指定格式,并使用“EEEE, MMMM dd, yyyy”格式化日期。這個(gè)格式指定完整的星期幾、月份、日期和年份。最后,我們使用System.out.println()在控制臺(tái)上打印格式化的日期。
六、localdatetime獲取前一天
要獲取前一天的日期時(shí)間,可以使用minus()方法。以下是一個(gè)示例:
LocalDateTime now = LocalDateTime.now();
LocalDateTime yesterday = now.minusDays(1);
System.out.println("Yesterday: " + yesterday);
在這個(gè)例子中,我們使用minusDays()方法從當(dāng)前的LocalDateTime實(shí)例中減去一天,然后在控制臺(tái)上打印前一天的日期時(shí)間。
七、localdatetime時(shí)間格式
與Java的Date和Calendar類不同,LocalDateTime沒有默認(rèn)的字符串格式。您需要使用DateTimeFormatter類來自定義要使用的格式。以下是一個(gè)示例:
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = now.format(formatter);
System.out.println("Formatted LocalDateTime with custom format: " + formattedDateTime);
在這個(gè)例子中,我們使用ofPattern()方法為DateTimeFormatter對(duì)象指定預(yù)期的格式,然后格式化LocalDateTime實(shí)例,并在控制臺(tái)上打印格式化的日期時(shí)間。
八、localdatetime轉(zhuǎn)換時(shí)間戳
要將LocalDateTime實(shí)例轉(zhuǎn)換為時(shí)間戳,您需要使用Instant類。以下是一個(gè)示例:
LocalDateTime now = LocalDateTime.now();
Instant instant = now.toInstant(ZoneOffset.ofHours(8));
long epochSeconds = instant.getEpochSecond();
System.out.println("Epoch seconds: " + epochSeconds);
在此示例中,我們使用toInstant()方法將LocalDateTime實(shí)例轉(zhuǎn)換為Instant實(shí)例,并將時(shí)區(qū)設(shè)置為UTC+8。然后,我們使用Instant實(shí)例的getEpochSecond()方法獲取自1970年1月1日0時(shí)0分0秒以來的秒數(shù)并在控制臺(tái)上打印它們。
九、localdatetime獲取時(shí)間戳
要獲取當(dāng)前時(shí)間的時(shí)間戳,可以使用Instant.now()方法。以下是一個(gè)示例:
Instant instant = Instant.now();
long epochSeconds = instant.getEpochSecond();
System.out.println("Epoch seconds: " + epochSeconds);
在此示例中,我們使用Instant.now()獲取當(dāng)前時(shí)間作為Instant實(shí)例,并使用getEpochSecond()方法獲取從1970年1月1日0時(shí)0分0秒以來的秒數(shù),并在控制臺(tái)上打印它們。