【发布时间】:2017-11-21 09:54:13
【问题描述】:
以下 Scala 代码返回 121,000 毫秒,而不是预期的 61,000 毫秒。这也适用于其他字段(例如一天中的小时),并且似乎是由于两次计算超出范围的值造成的。 LenientChronology 的文档和测试似乎没有说明这种行为,所以想知道是否有人知道或可以为这种行为提供解释。
import org.joda.time.chrono.{ISOChronology, LenientChronology}
import org.joda.time.format.DateTimeFormatterBuilder
val secondNumber = "61"
val lenientChronology = LenientChronology.getInstance(ISOChronology.getInstanceUTC)
val lenientParser = new DateTimeFormatterBuilder()
.appendSecondOfMinute(1).toFormatter.withChronology(lenientChronology)
lenientParser.parseMillis(secondNumber)
【问题讨论】:
-
看起来像一个错误。我建议您在 Joda-issue-tracker 上提交问题,因为该项目仍处于维护模式(没有增强功能,但会继续修复错误)。
-
@MenoHochschild 我已经提出了github.com/JodaOrg/joda-time/issues/432