2013-11-21 159 views
4

我有問題以通用的方式解析以下兩個時間戳字符串?PHP:解析postgre的默認字符串時間戳格式

$timestamp1 = "2013-10-15 19:05:18.756932+03"; 
$timestamp2 = "2013-10-15 19:05:18.756932+03:00"; 

我有這到目前爲止,但它與false

$datetime = DateTime::createFromFormat('Y-m-d HH:MM:SS frac "GMT"? [+-] hh ":"? MM?', $timestamp1); 
$datetime = DateTime::createFromFormat('Y-m-d HH:MM:SS frac "GMT"? [+-] hh ":"? MM?', $timestamp2); 

怎麼了回報?謝謝。

P.S.我試過這個'Y-m-d HH:MM:SSfrac"GMT"?[+-]hh":"?MM?',這個''Y-m-d HH:MM:SS[0-9]+"GMT"?[+-]hh":"?MM?'和這個'Y-m-d HH:MM:SS [0-9] "GMT"? [+-] hh ":"? MM?',但它總是失敗。

+0

此對應什麼來 - '19:05:18.756932 + 03'? –

+0

@Amal Murali 19:05:18,.756932是秒的小數部分,+ 03是時區偏移量。 – 0xC0DEGURU

回答

5

假設最後一部分是時區偏移量,則應該使用Y-m-d H:i:s.ue

如果這是posgre的默認格式,您可能需要處理沒有小數秒(2013-10-15 19:05:18+03)和Y-m-d H:i:se的情況。

+0

是的,我想解析postgre的默認格式。謝謝! – 0xC0DEGURU