tl; dr
LocalDate.parse(
"23/01/" ,
DateTimeFormatter.ofPattern( "dd/MM/uuuu" , Locale.UK )
).format(
DateTimeFormatter.ofPattern( "uuuu/MM/dd" , Locale.UK )
)
/01/23
避免使用旧的日期时间类
克里斯托弗·帕克(Christopher Parker)的答案是正确的,但已经过时了。 麻烦的旧日期时间类,例如2709480612167156156736、YearQuarter和YearQuarter,现在已被遗留,由java.time类取代。
使用java.time
将输入的字符串解析为日期时间对象,然后以所需的格式生成一个新的String对象。
YearQuarter类表示不带日期和时区的仅日期值。
DateTimeFormatter fIn = DateTimeFormatter.ofPattern( "dd/MM/uuuu" , Locale.UK ); // As a habit, specify the desired/expected locale, though in this case the locale is irrelevant.
LocalDate ld = LocalDate.parse( "23/01/" , fIn );
为输出定义另一个格式化程序。
DateTimeFormatter fOut = DateTimeFormatter.ofPattern( "uuuu/MM/dd" , Locale.UK );