嗨,我在Facebook上工作的圖形API,我需要一個組的所有帖子信息。所以我做到了,看到[created_date'] => '2013-01-25T00:11:02+0000'
這個日期和時間代表我是說我知道2013-01-25
是日期,00:11:02
是時間,但T
和+0000
代表什麼。Facebook創建日期中使用的時間格式是什麼?
BTW哪裏是Facebook的服務器。我應該使用哪個時間戳來匹配Facebook時間?
謝謝。
嗨,我在Facebook上工作的圖形API,我需要一個組的所有帖子信息。所以我做到了,看到[created_date'] => '2013-01-25T00:11:02+0000'
這個日期和時間代表我是說我知道2013-01-25
是日期,00:11:02
是時間,但T
和+0000
代表什麼。Facebook創建日期中使用的時間格式是什麼?
BTW哪裏是Facebook的服務器。我應該使用哪個時間戳來匹配Facebook時間?
謝謝。
T = TIME和+0000是時區偏移量。 Facebook使用本地時區。您可以通過在圖形調用中添加參數:time_format = U來請求unix時間戳而不是字符串。
請參閱:https://chris.banes.me/2011/06/24/correctly-parsing-graph-api-event-times/
thnk你高公園..這正是我需要的.. –
+1。不知道'time_format' :) –
@HighParkCoder本地化時區的含義是什麼? –
這是一個標準格式,具體是ISO 8601。
雖然我不喜歡鏈接到它,http://www.w3schools.com/schema/schema_dtypes_date.asp確實有一個很好的「人類理解」解釋:
日期時間爲以下形式「YYYY-MM-DDTHH規定:毫米: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時間的DateTime加上 「Z」 後面的時間 - 這樣的:
2002-05-30T09:30:10Z
,或者你可以通過添加一個正的或 負時間在時間後指定一個從UTC時間偏移 - 這樣的:
2002-05-30T09:30:10-06:00
或
2002-05-30T09:30:10+06:00
因此,在你的情況下,+0000
表示時間偏移量爲0 UTC。
日期格式被稱爲ISO 8601
。字母T
用於明確分隔日期和時間,並且+0000
用於表示時區偏移量,在本例中爲GMT或UTC。
這就是說,你通常不需要太擔心實際的內容;而應該知道如何與他們合作。使用這樣的日期,你可以用strtotime()
將其轉換成一個時間戳:
$ts = strtotime('2013-01-25T00:11:02+0000');
到時間戳轉換回字符串表示,可以簡單地使用gmdate()
與預定義的日期不變DATE_ISO8601
:
echo gmdate(DATE_ISO8601, $ts);
另外,使用:
// import date
$d = DateTime::createFromFormat(DateTime::ISO8601, '2013-01-25T00:11:02+0000');
// export date
echo $dd->format(DateTime::ISO8601), PHP_EOL;
*旁註:* DateTime :: createFromFormat()'自5.3.0起可用 – Raptor
這就是所謂的ISO。 – Hyperboreus
它是['ISO 8601'](http://en.wikipedia.org/wiki/ISO_8601)準確地 –