原文: https://howtodoinjava.com/java/date-time/java8-datetimeformatter-example/
Java 示例,可使用DateTimeFormatter
将ZonedDateTime
,LocalDateTime
,LocalDate
和LocalTime
格式化为具有预定义和自定义模式的字符串。
1. 创建DateTimeFormatter
您可以通过两种方式创建DateTimeFormatter
:
- 使用内置常量
- 使用
ofPattern()
方法创建自己的模式
//Use inbuilt pattern constants
DateTimeFormatter inBuiltFormatter1 = DateTimeFormatter.ISO_DATE_TIME;
DateTimeFormatter inBuiltFormatter2 = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
//Define your own custom patterns
DateTimeFormatter customFormatter = DateTimeFormatter.ofPattern("MM/dd/yyyy 'at' hh:mma z");
2. 格式化ZonedDateTime
Java 示例,将ZonedDateTime
格式化为带有DateTimeFormatter
的字符串。
//Create formatter
DateTimeFormatter FOMATTER = DateTimeFormatter.ofPattern("MM/dd/yyyy 'at' hh:mm a z");
//Zoned datetime instance
ZonedDateTime zdt = ZonedDateTime.now();
//Get formatted String
String zdtString = FOMATTER.format(zdt);
System.out.println(zdtString); // 07/15/2018 at 02:51 PM IST
3. 格式化LocalDateTime
LocalDate
没有时区部分。 因此,相应地创建模式。
//Create formatter
DateTimeFormatter FOMATTER = DateTimeFormatter.ofPattern("MM/dd/yyyy 'at' hh:mm a");
//Local date time instance
LocalDateTime localDateTime = LocalDateTime.now();
//Get formatted String
String ldtString = FOMATTER.format(localDateTime);
System.out.println(ldtString); // 07/15/2018 at 02:49 PM
4. 格式化LocalDate
LocalDate
没有时间和时区部分。 因此,相应地创建模式。
//Create formatter
DateTimeFormatter FOMATTER = DateTimeFormatter.ofPattern("MM/dd/yyyy");
//Local date instance
LocalDate localDate = LocalDate.now();
//Get formatted String
String dateString = FOMATTER.format(localDate);
System.out.println(dateString); //07/15/2018
5. 格式化LocalTime
LocalTime
没有日期和时区部分。 因此,相应地创建模式。
//Create formatter
DateTimeFormatter FOMATTER = DateTimeFormatter.ofPattern("hh:mm a");
//Local time instance
LocalTime localTime = LocalTime.now();
//Get formatted String
String localTimeString = FOMATTER.format(localTime);
System.out.println(localTimeString); // 02:53 PM
6. 有用的格式化模式
模式 | 示例 |
---|---|
yyyy-MM-dd ( ISO ) |
2018-07-14 |
dd-MMM-yyyy |
14-Jul-2018 |
dd/MM/yyyy |
14/07/2018 |
E, MMM dd yyyy |
Sat, Jul 14 2018 |
h:mm a |
12:08 PM |
EEEE, MMM dd, yyyy HH:mm:ss a |
Saturday, Jul 14, 2018 14:31:06 PM |
yyyy-MM-dd'T'HH:mm:ssZ |
2018-07-14T14:31:30+0530 |
hh 'o''clock' a, zzzz |
12 o’clock PM, Pacific Daylight Time |
K:mm a, z |
0:08 PM, PDT |
7. 更多例子
学习愉快!
参考文献: