2016-09-16 39 views
3

手册specifies该唯一性是基于foreign_idtime字段。检索“时间”字段时区错误?

我有一个用户加入特定事件的活动。这个事件有我自己的开始日期,我想在时间轴上显示,因此我将它作为额外的数据提交(以及名称和位置等,但为了防止混乱,我省略了这些数据)。 我将包含以下活动数组的活动提交给用户供稿。请注意,我在阿姆斯特丹,这是(目前)在格林威治时间+ 0200时区:

Array 
(
    [actor] => User:3 
    [verb] => join 
    [object] => Event:2 
    [event_start] => 2016-09-26T19:00:00+0200 
    [to] => Array 
     (
      [0] => notification:2 
     ) 

    [foreign_id] => join:2 
    [time] => 2016-09-16T13:29:13+0200 
) 

当我检索用户的使用饲料,这回来为:

{ 
    "duration":"17ms", 
    "next":"", 
    "results":[ 
     { 
     "actor":"User:3", 
     "event_start":"2016-09-26T19:00:00+0200", 
     "foreign_id":"join:2", 
     "id":"cb0f4a80-7c00-11e6-8080-80010479bedb", 
     "object":"Event:2", 
     "origin":null, 
     "target":null, 
     "time":"2016-09-16T11:29:13.000000", 
     "to":[ 
      "notification:2" 
     ], 
     "verb":"join" 
     } 
    ] 
} 

公告日期字段中的差异。两者均作为ISO8601字段提交,但仅返回event_start字段。 time字段以不同的格式返回,但没有任何时区指示符。它显然已转换为UTC时间,但缺少the trailing Z that should indicate that。因此我不能可靠地将它用作时间指示器。

我可以通过向活动数组中添加另一个时间字段来解决此问题(该工作正常,并返回正确的ISO8601日期),但感觉相当多余。

这是一个错误,我做错了什么,或者我们是不是应该依靠time字段来指示活动何时发生?

回答

1

API v1.0以UTC时区存储time字段,但遗憾的是,它不能正确返回尾随的Z。这将在以后的API版本中修复,但不会在这个版本中修复。

当您查询API时,您可以放心地预期time字段始终以UTC格式返回。

+0

谢谢Tomasso的快速回复。我知道你不能在生产环境中更改API的功能,所以我会接受你的话:) – Anders

相关问题