facebook创建日期使用的时间格式是什么?

时间:2013-01-25 06:50:31

标签: php facebook facebook-graph-api datetime

您好我正在使用facebook Graph API,我需要一组的所有帖子信息。所以我这样做了,看到[created_date'] => '2013-01-25T00:11:02+0000'这个日期和时间代表什么意思我知道2013-01-25是日期而00:11:02是时间但T和{{1}是什么代表。

BTW facebook的服务器在哪里。我应该使用哪个时间戳来匹配Facebook时间?

谢谢。

3 个答案:

答案 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。