格式化 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
Java如何格式化日期时间

使用 DateTimeFormatterZonedDateTimeLocalDateTimeLocalDateLocalTime格式化为带有预定义和自定义模式的字符串。

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