【发布时间】:2012-03-18 08:54:54
【问题描述】:
作为 API 请求的结果,将日期(年、月、日)和时间(小时、分钟和秒)一起显示的标准(或某种符合 ISO 标准的东西)格式是什么?还是在这种情况下应该返回时间戳?
【问题讨论】:
-
Unix 时间戳;自
1970-01-01T00:00:00-00:00(UTC) 以来的秒数。您应该发送时间戳,但如果您必须发送格式化的日期,请发送 ISO8601,看起来像这样。
作为 API 请求的结果,将日期(年、月、日)和时间(小时、分钟和秒)一起显示的标准(或某种符合 ISO 标准的东西)格式是什么?还是在这种情况下应该返回时间戳?
【问题讨论】:
1970-01-01T00:00:00-00:00 (UTC) 以来的秒数。您应该发送时间戳,但如果您必须发送格式化的日期,请发送 ISO8601,看起来像这样。
我认为返回timestamp 会更好。
它允许您的 API 用户轻松操作它。
(我的看法)
【讨论】:
要么执行整数 unix 时间戳,要么执行完整的 ISO8601。
【讨论】:
RFC822 格式:2012 年 2 月 18 日 14:27:18 -0000
DAY MONTH YEAR HOUR:MINUTES:SECONDS UTC-OFFSET
使用date():
date('d M y H:i:s O')
Twitter 的 API 使用它,它的一些好处是它可以被人类阅读并且易于在 PHP、JavaScript 和其他语言中解析。而且您知道日期显示在哪个时区。
【讨论】:
使用 ISO8601 格式。并始终使用 UTC 时区。它是 ISO 的标准,应该可以被任何库解析。
例如2012-02-28T20:27:21+0000
在 php 中结合使用 DateTimeZone 和 DateTime 对象来获取 ISO8601 日期。
$dt = new DateTime("now", new DateTimeZone("UTC"));
echo $dt->format(DATE_ISO8601)`
请参阅 PHP 手册中的Date/Time 了解更多信息。
【讨论】:
Z 表示零区。我加了。
DATE_ISO8601 格式模式与您的示例不对应。