首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >试图理解日期时间字符串中的“PT1H”

试图理解日期时间字符串中的“PT1H”
EN

Stack Overflow用户
提问于 2019-05-12 07:04:07
回答 1查看 22.2K关注 0票数 15

我正在使用天气API来提取天气信息,作为我的项目的服务。我试图理解一些时区偏移,我似乎找不到相关的信息。

我使用的URL是:

代码语言:javascript
运行
复制
https://api.weather.gov/gridpoints/VEF/154,48

下面是一些示例返回值:

代码语言:javascript
运行
复制
"temperature": {
    "sourceUnit": "F",
    "uom": "unit:degC",
    "values": [
        {
            "validTime": "2019-05-11T16:00:00+00:00/PT1H",
            "value": 18.333333333333371
        },
        {
            "validTime": "2019-05-12T04:00:00+00:00/PT2H",
            "value": 16.1111111111112
        },
        {
            "validTime": "2019-05-12T21:00:00+00:00/PT4H",
            "value": 26.666666666666742
        },
        ...
    ]
}

我知道PT的意思是太平洋时区。但是我似乎找不到像1H2H等字符旁边的任何信息。

如果有人能给我建议的话,我们会很感激的-谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-12 07:40:18

PT1H =1小时

我知道PT的意思是太平洋时区。

不不正确的假设。不是时区。

PT1H表示一个持续时间,这是一个与时间线无关的时间跨度。这种格式是在ISO 8601标准中定义的。

P标志着开始,我想是“时期”的缩写,是持续时间的同义词。T将任意年份-月-日部分与任何小时-分钟-秒部分分开.

所以PT1H的意思是“一小时”。两个半小时是PT2H30M

解析

将起始时刻和持续时间相结合的输入"2019-05-11T16:00:00+00:00/PT1H"ISO 8601的一部分标准。

这种组合字符串可以由Interval.parse库中的https://www.threeten.org/threeten-extra/方法解析。

代码语言:javascript
运行
复制
Interval interval = Interval.parse( "2019-05-11T16:00:00+00:00/PT1H" ) ;

Interval表示一对矩,一对Instant对象。在这里的例子中,通过将持续时间添加到起始时刻来计算第二个时刻。我们可以查询这对矩,表示为Instant对象(按定义总是在UTC中)。

代码语言:javascript
运行
复制
Instant start = interval.getStart() ;
Instant stop = interval.getEnd() ;
票数 41
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56096937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档