2015-10-16 362 views
0

我想比較給定的日期與當前,但我有問題,如果我使用格式如RFC 3339中描述的日期使用時間偏移。轉換日期與RFC 3339中定義的時間偏移到PHP中的時間戳

E.g.在給定的時間字符串爲「2015-10-16T13:00:00Z + 02:00」和我想的區別:

$difference = strtotime("2015-10-16T13:00:00Z+02:00") - time(); 

$difference彷彿我使用「2015年被設置爲相同的-10-16T13:00:00Z」。

我也使用date_default_timezone_set將默認時區設置爲「UTC」,但這不會改變任何內容。

如果我使用的時間字符串沒有關閉「Z」(例如「2015-10-16T13:00:00」),所有工作正常。

有人可以幫我嗎?

+0

所以你需要'2015-10-16T15:00:00'的輸出? –

+1

'Z + 02:00'無效。它可以是'Z',也可以是'+02:00' - 不是兩者。 ('Z'表示'+00:00') –

+0

@MattJohnson:對不起,遲到的迴應,但你的評論回答我的問題。謝謝! – Karsten

回答

1

問題在於輸入。 Z+02:00無效。

ISO8601/RFC3339允許要麼要麼Z要麼+02:00-不是兩個。 (Z表示+00:00