gpt4 book ai didi

java - java.time.Duration 中的错误

转载 作者:太空狗 更新时间:2023-10-29 22:39:02 28 4
gpt4 key购买 nike

我需要解析 Durations从字符串。 Java 8 提供了一种方法来获取 ISO-8601。标准作为依据:

Duration.parse("p10d"); // parses as ten days
Duration.parse("pt1h"); // parses as one hour

由于标准声明“允许通过相互协议(protocol)省略‘T’字符”,Durations.parse() 的一些 Javadoc 示例省略 T。根据他们的说法,以下表达式应解析为“-6 小时 +3 分钟”:

"P-6H3M"

但我发现所有省略 T 的表达式都会抛出 DateTimeParseException。这是 parse() 方法中的错误还是我遗漏了什么?

最佳答案

JavaDocparse() :

The ASCII letter "T" must occur before the first occurrence, if any, of an hour, minute or second section.

这意味着您必须包括 T每当你使用 H , M , 或 S .


虽然示例是错误的:

"P-6H3M"    -- parses as "-6 hours and +3 minutes"
"-P6H3M" -- parses as "-6 hours and -3 minutes"
"-P-6H+3M" -- parses as "+6 hours and -3 minutes"

关于java - java.time.Duration 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28958870/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com