原文: https://howtodoinjava.com/java/date-time/java8-datetimeformatter-example/
Java 示例,可使用DateTimeFormatter将ZonedDateTime,LocalDateTime,LocalDate和LocalTime格式化为具有预定义和自定义模式的字符串。
1. 创建DateTimeFormatter
您可以通过两种方式创建DateTimeFormatter:
- 使用内置常量
- 使用
ofPattern()方法创建自己的模式
//Use inbuilt pattern constantsDateTimeFormatter inBuiltFormatter1 = DateTimeFormatter.ISO_DATE_TIME;DateTimeFormatter inBuiltFormatter2 = DateTimeFormatter.ISO_LOCAL_DATE_TIME;//Define your own custom patternsDateTimeFormatter customFormatter = DateTimeFormatter.ofPattern("MM/dd/yyyy 'at' hh:mma z");
2. 格式化ZonedDateTime
Java 示例,将ZonedDateTime格式化为带有DateTimeFormatter的字符串。
//Create formatterDateTimeFormatter FOMATTER = DateTimeFormatter.ofPattern("MM/dd/yyyy 'at' hh:mm a z");//Zoned datetime instanceZonedDateTime zdt = ZonedDateTime.now();//Get formatted StringString zdtString = FOMATTER.format(zdt);System.out.println(zdtString); // 07/15/2018 at 02:51 PM IST
3. 格式化LocalDateTime
LocalDate没有时区部分。 因此,相应地创建模式。
//Create formatterDateTimeFormatter FOMATTER = DateTimeFormatter.ofPattern("MM/dd/yyyy 'at' hh:mm a");//Local date time instanceLocalDateTime localDateTime = LocalDateTime.now();//Get formatted StringString ldtString = FOMATTER.format(localDateTime);System.out.println(ldtString); // 07/15/2018 at 02:49 PM
4. 格式化LocalDate
LocalDate没有时间和时区部分。 因此,相应地创建模式。
//Create formatterDateTimeFormatter FOMATTER = DateTimeFormatter.ofPattern("MM/dd/yyyy");//Local date instanceLocalDate localDate = LocalDate.now();//Get formatted StringString dateString = FOMATTER.format(localDate);System.out.println(dateString); //07/15/2018
5. 格式化LocalTime
LocalTime没有日期和时区部分。 因此,相应地创建模式。
//Create formatterDateTimeFormatter FOMATTER = DateTimeFormatter.ofPattern("hh:mm a");//Local time instanceLocalTime localTime = LocalTime.now();//Get formatted StringString 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. 更多例子
学习愉快!
参考文献:
