我在将日期正确格式化为 dd-MM-YYYY 时遇到了问题。
当我按年-月-日或年-日-月的顺序排列字符串 dateString 时,它允许格式化日期。
它似乎只在 yearParsed String 在 dateString 开始时才有效。
尝试使用 DateTimeFormatter.ofPattern("dd-MM-YYYY") 似乎并没有影响日期,所以看起来我没有正确使用它。
你能告诉我我做错了什么吗?
用户一次输入一天、一个月和一年,我希望将日期输出为:01-12-2000。如果日期或月份输入是单个数字,则 if/else 会在前面添加一个“0”。
任何帮助将不胜感激。
谢谢!
String yearParsed = String.valueOf(year);
String monthParsed;
String dayParsed;
if (dayString.length() == 1) {
dayParsed = "0" + String.valueOf(day);
}
else {
dayParsed = String.valueOf(day);
}
if (monthString.length() == 1) {
monthParsed = "0" + String.valueOf(month);
}
else {
monthParsed = String.valueOf(month);
}
String dateString = yearParsed + "-" + monthParsed + "-" + dayParsed;
//String dateString = dayParsed + "-" + monthParsed + "-" + yearParsed;
System.out.println("dateString " + dateString);
LocalDate formattedDate = null;
DateTimeFormatter dateTimeFormatter;
dateTimeFormatter = DateTimeFormatter.ISO_LOCAL_DATE;
//dateTimeFormatter = DateTimeFormatter.ofPattern("dd-MM-YYYY");
formattedDate = formattedDate.parse(String.format(dateString, dateTimeFormatter));
System.out.println("Formatted Date = " + formattedDate);