如何将 LocalDate 对象的格式设置为 MM/dd/yyyy 并保持格式

2022-09-01 12:41:41

我正在阅读文本并将日期存储为LocalDate变量。

有没有办法让我保留DateTimeFormatter的格式,以便当我调用LocalDate变量时,它仍然采用这种格式。

编辑:我希望解析的日期以正确的格式 25/09/2016 存储,而不是打印为字符串

我的代码:

public static void main(String[] args) 
{
    LocalDate date = LocalDate.now();
    DateTimeFormatter formatters = DateTimeFormatter.ofPattern("d/MM/uuuu");
    String text = date.format(formatters);
    LocalDate parsedDate = LocalDate.parse(text, formatters);

    System.out.println("date: " + date); // date: 2016-09-25
    System.out.println("Text format " + text); // Text format 25/09/2016
    System.out.println("parsedDate: " + parsedDate); // parsedDate: 2016-09-25

    // I want the LocalDate parsedDate to be stored as 25/09/2016
}

答案 1

编辑:考虑到您的编辑,只需将parsedDate设置为等于格式化文本字符串,如下所示:

parsedDate = text;

LocalDate 对象只能以 ISO8601 格式 (yyyy-MM-dd) 打印。为了以其他格式打印对象,您需要对其进行格式化并将LocalDate另存为字符串,就像您在自己的示例中演示的那样

DateTimeFormatter formatters = DateTimeFormatter.ofPattern("d/MM/uuuu");
String text = date.format(formatters);

答案 2

只需在打印出日期时设置日期格式:

public static void main(String[] args) {
    LocalDate date = LocalDate.now();
    DateTimeFormatter formatters = DateTimeFormatter.ofPattern("d/MM/uuuu");
    String text = date.format(formatters);
    LocalDate parsedDate = LocalDate.parse(text, formatters);

    System.out.println("date: " + date);
    System.out.println("Text format " + text);
    System.out.println("parsedDate: " + parsedDate.format(formatters));
}

推荐