使用API​​返回哪种日期和时间格式最有趣

时间:2016-10-21 16:33:52

标签: json rest datetime-format api-design

使用我们的API,我们希望发送一些有关我们对象的信息,例如发布日期和时间您建议使用哪种格式返回,以确保使用不同的编程语言(PHP,Ruby,JavaScript,...)?

我想到了2个回复:

{
  "published": "2016-06-30T14:45:16+0200", //ISO 8601
  ...
}

{
  "published": 1467290716, //Timestamp
  ...
}

提前致谢!

2 个答案:

答案 0 :(得分:2)

根据我的经验,我不会根据语言决定格式,而是根据用途决定。

如果只是语言的问题,我会坚持使用时间戳,只要小心你使用的时间戳长度(由于溢出,常规32位格式将在2038年1月停止工作,所以也许你可能需要一个64位长的时间戳)

但是,如果您仅将日期用作人类可读信息,则无需从时间戳转换为文本,因此我会选择文本选项。

答案 1 :(得分:0)

我会说,

UTC时间戳是更优选的。以下是我的理由:

  1. 易于使用任何语言进行转换。

  2. 您不必担心时区。

  3. 如果某些语言在处理时间问题上存在困难 - 2016-06-30T14:45:16 + 0200,则在更改时间格式之前必须使用字符串格式。例如,旧版本的Javascript没有很好的日期处理库。