XML 模式/XACML 持续时间类型的 JodaTime

发布于 2024-12-21 08:02:47 字数 246 浏览 4 评论 0原文

我正在尝试使用 Joda 支持所有 XACML 数据时间,但无法让它解析“P50DT4H4M3S”等字符串的持续时间。我怀疑问题在于 ISO 和 W3C 在某个时刻分道扬镳,而 Joda 支持 ISO 路径。

无论如何,有没有一种简单的方法可以弥补这一差距。如果可能的话,我想避免构建自己的解析器。

我知道 javax.xml 类型,它似乎可以满足我的需要,但它基于 GregorianCalendar,我希望通过使用 Joda 来避免这种情况。

I'm trying to use Joda to support all XACML data times but am having trouble getting it to parse duration from strings like "P50DT4H4M3S". I suspect the problem is ISO and W3C parted ways at some point and Joda supports the ISO path.

In any event, is there an easy way to bridge the gap. I'd like to avoid building my own parser if possible.

I'm aware of javax.xml types, which seems to do what I need, except its based on GregorianCalendar which I'd hoped to avoid by using Joda.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一绘本一梦想 2024-12-28 08:02:47

P50DT4H4M3S 是 Joda-Time 术语中的一个 Period,可以使用 PeriodFormatter 进行解析。 ISOPeriodFormat 中有标准解析器。

P50DT4H4M3S is a Period in Joda-Time terminology, and can be parsed using PeriodFormatter. There are standard parsers in ISOPeriodFormat.

旧竹 2024-12-28 08:02:47

像这样的东西:

PeriodFormatter formatter = ISOPeriodFormat.standard();
Period period = asd.parsePeriod(periodString);
Duration duration = dsa.toStandardDuration();

Something like this:

PeriodFormatter formatter = ISOPeriodFormat.standard();
Period period = asd.parsePeriod(periodString);
Duration duration = dsa.toStandardDuration();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文