使用DateTimeFormatter#parseLocalDateTime了解月份更改

时间:2015-02-06 03:34:41

标签: jodatime

鉴于以下DateTimeFormatter

scala> val dateTimeFormatter: DateTimeFormatter = DateTimeFormat.forPattern("yyyy-mm-dd HH:mm:ss.SSS")
dateTimeFormatter: org.joda.time.format.DateTimeFormatter = org.joda.time.format.DateTimeFormatter@163fc8b4

为什么将"2015-02-05 22:27:36.491"传递给以下函数会将月份减少1?

scala> dateTimeFormatter.parseLocalDateTime("2015-02-05 22:27:36.491").toDateTime
res5: org.joda.time.DateTime = 2015-01-05T22:27:36.491-05:00

1 个答案:

答案 0 :(得分:1)

因为格式模式m指的是分钟字段。月份字段为M。分钟和月份都使用了小写m

您应该使用"yyyy-MM-dd HH:mm:ss.SSS",而不是"yyyy-mm-dd HH:mm:ss.SSS"