我的持续时间格式类似于 0DT3H10M 。因此需要知道如何解析这种日期。
在最新版本的android操作系统中,我们以这种持续时间格式提供了持续时间类,但是如果我想解析这种持续时间,那么有哪些可用的选项。请让我知道是否有人对此有所了解
提前谢谢!
答案 0 :(得分:2)
我猜该字符串代表三个小时十分钟的持续时间。
不幸的是,该字符串不符合 java.time 类Duration
和Period
中默认使用的ISO 8601 standard 。该标准以P
开头所有此类字符串。并且该标准使用T
将任何年月日与任何时分秒分开。因此,您输入的三个小时零十分钟为PT3H10M
。
您将需要使用自己的代码来解析字符串。然后使用提取的值来设置java.time.Duration
对象的值。
仅需在P
前面加注以符合标准,便可以摆脱困境。我犹豫不决地建议这样做,因为您将需要查看可能收到的值的范围,以验证此方法是否有效。
Duration.parse( "P" + "0DT3H10M" )
提示:教育发布者有关ISO 8601的输入数据。