【发布时间】:2013-07-31 18:34:24
【问题描述】:
如ISO8601 wikipedia article 中所述:
使用的最小值也可以有小数,如“P0.5Y”表示一半 一年。此小数部分可以用逗号或句号指定,如“P0,5Y”或“P0.5Y”。
但是我不能用joda-time解析这样的时间段,下面的代码:
Period.parse("P0.5Y", ISOPeriodFormat.standard());
失败:
java.lang.IllegalArgumentException:无效格式:“P0.5Y”在“0.5Y”处格式错误
谁错了:维基百科、joda-time ISOPeriodFormat.standard() 还是我的错误?
使用 jodatime 2.2
【问题讨论】:
-
您尝试过 ISOPeriodFormat.alternate 或 alternateExtended 吗?
-
虽然从文档看来它确实只支持 ISO8601 格式的一个子集:joda-time.sourceforge.net/api-release/org/joda/time/format/…
-
没有一个 ISOPeriodFormat 能够解析“P0.5Y”。