time - ISO 8601 可以表示开始/结束是持续时间的时间间隔吗?
问题描述
ISO 8601:2004 定义了一种时间间隔格式,可以用各种格式表示,包括“c)由开始和持续时间”和“d)由持续时间和结束”。
单看维基百科的文章,这些例子似乎只提供start
并end
成为“时间点”,例如2007-03-01T13:00:00Z/P1Y2M10DT2H30M
从 2007 年 3 月开始的 1 年、2 个月、10 天、2 小时和 3 分钟的时间间隔-世界标准时间 01 13:00。
是否可以表示在一段时间后开始或结束的时间间隔?例如,P1Y/P1Y2M10DT2H30M
将是相同的持续时间,但在 1 年后“开始”。
这种语法对于建模相对时间间隔很有用,尤其是在与重复限定相结合时。例如,每月的退休金可以合理地表示为R/P65Y/1M
。
解决方案
ISO-8601 中没有定义“P1Y/P1Y2M10DT2H30M”的表述。本文提到了“时间间隔”的以下四种变体:
a)开始和结束定义为时间点,例如=> 2019-08-27/2019-08-29
b) 在(日期)或时间线上没有任何固定锚点的持续时间,例如 => P3D
c) 从时间点和持续时间开始,例如 => 2019-08-27/P3D
d) 持续时间和结束作为时间点,示例 => P3D/2019-08-29
所以你的问题“是否可以表示在一段时间后开始或结束的时间间隔?” 可以用明确的“否”来回答。老实说,双持续时间的表达会让大多数用户感到困惑。
推荐阅读
- javascript - 3秒后调用函数更新'onclick'参数
- angular - 如何在 Angular 7 中手动清除 routeReuseStrategy?
- java - Spring集成在运行时添加路由
- android - 如何在 android 中获取 XML 响应字符串以及 Kotlin 数据模型?
- reactjs - TypeError:_mapboxGl.default.Map 不是构造函数
- python - Selenium/BeautifulSoup 中的 Python
- javascript - 您如何遍历数组并仅提取特定值的键:值?
- excel - 柯拉兹猜想。找到最小的 a_k
- ruby-on-rails - 是否可以在 rails 4.2 中使用神社 3.0?这样我们就可以立即更换回形针
- android - Firebase Android 莫名崩溃