2016-09-16 66 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

相關問題