我正在使用Weather API作为项目的一项服务来提取天气信息。我试图了解一些我似乎找不到信息的时区偏移量。
我使用的URL是:
https://api.weather.gov/gridpoints/VEF/154,48
以下是一些示例返回值:
"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 是指太平洋时区。但我似乎找不到 1H , 2H 等字符旁边的任何信息。
如果有人可以提出建议,将不胜感激-谢谢
答案 0 :(得分:3)
PT1H
=一小时我了解PT表示太平洋时区。
不,不正确的假设。不是时区。
PT1H
代表duration,这是与时间轴无关的时间跨度。此格式在ISO 8601标准中定义。
P
标记开始,是“ Period”(持续时间的同义词)的缩写。 T
将任何年-月-日-天部分与任何时-分-秒部分分开。
所以PT1H
的意思是“一个小时”。两个半小时就是PT2H30M
。
您的输入"2019-05-11T16:00:00+00:00/PT1H"
与开始时间和持续时间相结合是标准的part of the ISO 8601。
可以通过Interval.parse
库中的ThreeTen-Extra方法来解析这样的组合字符串。
Interval interval = Interval.parse( "2019-05-11T16:00:00+00:00/PT1H" ) ;