格式化 ZonedDateTime
将 ZonedDateTime
格式化为带有 DateTimeFormatter
的字符串的 Java 示例。
//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
创建 DateTimeFormatter
我们可以通过两种方式创建DateTimeFormatter
:
- 使用内置模式
- 使用
ofPattern()
方法使用自定义模式 - 使用带有
FormatStyle
的本地化样式,例如 long 或者 medium
//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"); //Using FormatStyle DateTimeFormatter customFormatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG);
DateTimeFormatter的格式化模式
模式 | 例子 |
---|---|
yyyy-MM-dd (ISO) | “2018-07-14" |
dd-MMM-yyyy | “14-Jul-2018" |
dd/MM/yyyy | “14/07/2018" |
E, MMM dd yyyy | “Sat, May 14 2018" |
h:mm a | “12:08 PM" |
EEEE, MMM dd, yyyy HH:mm:ss a | “Saturday, May 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" |
欢迎来到之路教程(on itroad-com)
使用DateTimeFormatter格式化本地日期
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
使用DateTimeFormatter格式化本地时间
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
使用 DateTimeFormatter
将 ZonedDateTime
、LocalDateTime
、LocalDate
和 LocalTime
格式化为带有预定义和自定义模式的字符串。
DateTimeFormat 是线程安全且不可变的。
使用DateTimeFormatter格式化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
日期:2020-09-17 00:09:39 来源:oir作者:oir