您好我正在使用facebook Graph API,我需要一组的所有帖子信息。所以我这样做了,看到[created_date'] => '2013-01-25T00:11:02+0000'
这个日期和时间代表什么意思我知道2013-01-25
是日期而00:11:02
是时间但T
和{{1}是什么代表。
BTW facebook的服务器在哪里。我应该使用哪个时间戳来匹配Facebook时间?
谢谢。
答案 0 :(得分:23)
T = TIME,+ 0000是时区偏移量。 Facebook使用本地化的时区。您可以通过在图API调用中添加参数:date_format = U来请求Unix时间戳而不是字符串。
有关详细信息,请参阅this link。
答案 1 :(得分:12)
日期格式称为ISO 8601
。字母T
用于明确区分日期和时间,+0000
用于表示时区偏移,在本例中为GMT或UTC。
那就是说,你一般不需要太担心实际的内容;相反,你应该知道如何使用它们。要使用此类日期,您可以使用strtotime()
将其转换为时间戳:
$ts = strtotime('2013-01-25T00:11:02+0000');
要将时间戳转换回字符串表示形式,您只需将gmdate()
与预定义的日期常量DATE_ISO8601
一起使用:
echo gmdate(DATE_ISO8601, $ts);
或者,使用DateTime
:
// import date
$d = DateTime::createFromFormat(DateTime::ISO8601, '2013-01-25T00:11:02+0000');
// export date
echo $dd->format(DateTime::ISO8601), PHP_EOL;
答案 2 :(得分:5)
这是一种标准格式,特别是ISO 8601。
尽管我不喜欢链接它,http://www.w3schools.com/schema/schema_dtypes_date.asp确实有一个很好的“人类可理解的”解释:
dateTime以下列形式指定:“YYYY-MM-DDThh:mm:ss” 其中:
YYYY indicates the year MM indicates the month DD indicates the day T indicates the start of the required time section hh indicates the hour mm indicates the minute ss indicates the second
要指定时区,您可以按UTC时间输入日期时间 在时间后添加“Z” - 就像这样:
2002-05-30T09:30:10Z
或者您可以通过添加一个正数或。来指定与UTC时间的偏移量 时间背后的负面时间 - 像这样:
2002-05-30T09:30:10-06:00
或
2002-05-30T09:30:10+06:00
因此,在您的情况下,+0000
表示与UTC的时间偏移为0。