2017-10-11 88 views
1

如果輸入是ISO 8601日期時間字符串,則精度過高導致strtotime失敗。有沒有辦法解決這個問題?strtotime因秒精度過高而失敗

strtotime('2017-10-11T22:49:52.123456789Z'); //returns false 
+0

您的PHP代碼中是否需要這樣的準確性? – Phil

+1

如果您可以更改字符串以將其降低至毫秒級精度,那麼'new DateTime('2017-10-11T22:49:52.123Z')'會生成一個有效的對象 – Phil

回答

0

最小的實體strtotime是第二個。如果這是確定的,結果只是做它像這樣:

$str = '2017-10-11T22:49:52.123456789Z'; 
$time = strtotime(substr($str, 0, 19)); 
echo $time; 
0
$str = '2017-10-11T22:49:52.123456789Z'; 
$split = explode(".", $str); 
$time = strtotime($split[0]); #2017-10-11T22:49:52 
echo $time; #1507751392 

這是你得到它,我希望它可以幫助你的方式:) 。