【发布时间】:2022-01-08 16:45:00
【问题描述】:
我有一个时间字符串03:02:111,它的模式是mm:ss:SSS。我想将其转换为 LocalTime 对象。
mm -> 分钟
ss -> 秒
SSS -> 工厂
简单示例:
val time = "03:02:111"
val formatter = DateTimeFormatter.ofPattern("mm:ss:SSS")
val convertedTime = LocalTime.parse(time, formatter)
print(convertedTime.toString())
我得到以下异常:
java.time.format.DateTimeParseException: 文本 '03:02:111' 不能 已解析:无法从 TemporalAccessor 获取 LocalTime: {MicroOfSecond=111000, MilliOfSecond=111, NanoOfSecond=111000000, SecondOfMinute=2, MinuteOfHour=3},ISO 类型为 java.time.format.Parsed
有人可以解释为什么这不起作用吗?我还检查了两次模式。
【问题讨论】:
-
顺便说一句,像
mm:ss:SSS这样的格式不是standard 并且可能会造成混淆;毫秒通常以.开头,因此这种格式的时间很容易被误认为HH:mm:ss。当然,这可能是一个固定的要求;但如果没有,您可能会考虑更改它。 -
是的,我已经考虑过了。无论如何,这是一个固定的要求。感谢您的意见。
-
我猜你有 - 但觉得值得一提,作为对其他阅读此问题的人的警告:-)