如何在不使用字符串日期的情况下将 java 8 中的 LocalDate 从一种格式转换为另一种 LocalDate 格式?
How to convert LocalDate from one format to another LocalDate format in java 8 without using String date?
LocalDate date = LocalDate.now();
System.out.println("date :" + date );//default format is yyyy-MM-dd
System.out.println(date.getClass().getName());//java.time.LocalDate
如何在 LocalDate
类型中格式化上面的 date
格式
dd-MM-yyyy
。但是您可以使用字符串日期模式,即 dd-MM-yyyy
。输出应仅为 LocalDate
类型。
此功能不属于 LocalDate
class 的责任,class 是表示日期的不可变日期时间对象。它的职责是不关心String格式表示。
要生成或解析字符串,请使用 DateTimeFormatter
class。
DateTimeFormatter pattern = DateTimeFormatter.ofPattern("dd-MM-yyyy");
String string = date.format(pattern);
回到LocalDate
,使用相同的模式:
LocalDate dateParsed = LocalDate.parse(string, pattern);
但是新的 dateParsed
将再次转换为其默认的字符串表示形式,因为 LocalDate
覆盖了 toString()
方法。以下是文档中的内容:
The output will be in the ISO-8601 format uuuu-MM-dd.
您可能想要实现自己的 class 装饰器来处理格式设置。
LocalDate date = LocalDate.now();
System.out.println("date :" + date );//default format is yyyy-MM-dd
System.out.println(date.getClass().getName());//java.time.LocalDate
如何在 LocalDate
类型中格式化上面的 date
格式
dd-MM-yyyy
。但是您可以使用字符串日期模式,即 dd-MM-yyyy
。输出应仅为 LocalDate
类型。
此功能不属于 LocalDate
class 的责任,class 是表示日期的不可变日期时间对象。它的职责是不关心String格式表示。
要生成或解析字符串,请使用 DateTimeFormatter
class。
DateTimeFormatter pattern = DateTimeFormatter.ofPattern("dd-MM-yyyy");
String string = date.format(pattern);
回到LocalDate
,使用相同的模式:
LocalDate dateParsed = LocalDate.parse(string, pattern);
但是新的 dateParsed
将再次转换为其默认的字符串表示形式,因为 LocalDate
覆盖了 toString()
方法。以下是文档中的内容:
The output will be in the ISO-8601 format uuuu-MM-dd.
您可能想要实现自己的 class 装饰器来处理格式设置。