DateTimeFormatter 返回错误的年份

问题描述

我使用日期时间格式化程序将日期转换为字符串。

LocalDate dateDebutMois = "2021-01-01";

DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("MM-YYYY");

String datetoPrint = dateDebutMois.format(dateTimeFormatter);

在 datetoPrint 我得到:“01-2020”而不是“01-2021”。

知道我做错了什么吗?

解决方法

@AndyTurner 今年的回答很到位。但是你的例子有问题。对于一个,您不能将字符串分配给 LocalDate

试试这个。

String date = "2021-01-01";
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("MM-yyyy");
String s = dateTimeFormatter.format(LocalDate.parse(date));
System.out.println(s);

印刷品

01-2021