如何将LocalDate格式更改为LocalDate而不生成字符串[duplicate]

问题描述 投票:0回答:1

需要将LocalDate格式的Java dd-MM-yyyy转换为LocalDatedd/MM/yyyy

尝试使用:

DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate date = // LocalDate value in dd-MM-yyyy format
String stringDate = dateFormat.format(date);
LocalDate convertedDate = LocalDate.parse(stringDate, dateFormat);

但是仍然导致返回dd-MM-yyyy格式的日期。有任何有效的方法吗?

java formatting localdate
1个回答
0
投票

LocalDate.java中的默认toString实现似乎以'-'作为分隔符。因此,所有默认的打印语句将产生相同的格式。似乎唯一的出路是使用格式化程序并获取字符串输出。

return buf.append(monthValue < 10 ? "-0" : "-")
            .append(monthValue)
            .append(dayValue < 10 ? "-0" : "-")
            .append(dayValue)
            .toString();

此外,LocalDate.parse(..)的目的不是转换日期格式。实际上,这实际上只是想获取String中的日期值并提供一个结果LocalDate实例。

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.