return 对 API 最感兴趣的日期和时间格式
Which date and time format is most interesting to return with an API
对于我们的API,我们想发送一些关于我们对象的信息,比如发布日期和时间。 你推荐哪种格式给return,以确保易于使用,不同的编程语言(PHP,Ruby,JavaScript, ...) ?
我想到了 2 个回复:
{
"published": "2016-06-30T14:45:16+0200", //ISO 8601
...
}
或
{
"published": 1467290716, //Timestamp
...
}
提前致谢!
UTC 时间戳更受青睐。以下是我的理由:
易于转换成任何语言。
您不必担心时区问题。
- 如果某些语言在处理 ISO - 2016-06-30T14:45:16+0200 等时间格式时遇到问题,则必须在更改时间格式之前求助于字符串格式。例如,旧版本的 Javascript 没有很好的日期处理库。
根据我的经验,我不会根据语言来决定格式,而是根据用法来决定。
如果只是语言问题,我会坚持使用时间戳,请注意您使用的时间戳长度(常规 32 位格式将在 2038 年 1 月因溢出而停止工作,所以也许您可能需要 64 位长的时间戳)
但如果您仅将日期用作人类可读信息,则无需将时间戳转换为文本,因此我会选择文本选项。
对于我们的API,我们想发送一些关于我们对象的信息,比如发布日期和时间。 你推荐哪种格式给return,以确保易于使用,不同的编程语言(PHP,Ruby,JavaScript, ...) ?
我想到了 2 个回复:
{
"published": "2016-06-30T14:45:16+0200", //ISO 8601
...
}
或
{
"published": 1467290716, //Timestamp
...
}
提前致谢!
UTC 时间戳更受青睐。以下是我的理由:
易于转换成任何语言。
您不必担心时区问题。
- 如果某些语言在处理 ISO - 2016-06-30T14:45:16+0200 等时间格式时遇到问题,则必须在更改时间格式之前求助于字符串格式。例如,旧版本的 Javascript 没有很好的日期处理库。
根据我的经验,我不会根据语言来决定格式,而是根据用法来决定。
如果只是语言问题,我会坚持使用时间戳,请注意您使用的时间戳长度(常规 32 位格式将在 2038 年 1 月因溢出而停止工作,所以也许您可能需要 64 位长的时间戳)
但如果您仅将日期用作人类可读信息,则无需将时间戳转换为文本,因此我会选择文本选项。