如何在JodaTime中将格式为yyyymmdd的字符串转换为LocalDate

时间:2014-05-18 17:20:42

标签: java jodatime

我有“20140518”形式的字符串。如何将其转换为LocalDate对象

我试过这个

this.todayDate = new LocalDate(val);
System.out.println(todayDate.toString("yyyy-mm-dd"))

当我尝试将其转储到标准输出时,它会像20140518-junk-junk一样转储。它转储垃圾串。我认为它会像2014-05-18那样倾销。

1 个答案:

答案 0 :(得分:2)

使用代表月份的MM代替代表分钟的mm

使用LocalDate.parse()代替new LocalDate()来构建LocalDate对象。

DateTimeFormatter format = org.joda.time.format.DateTimeFormat.forPattern("yyyyMMdd");
LocalDate lDate = org.joda.time.LocalDate.parse("20140518", format);
System.out.println(lDate);

输出:

2014-05-18

org.joda.time.LocalDate#toString()默认使用yyyy-MM-dd模式。

您不需要使用todayDate.toString("yyyy-MM-dd")