返回false知道爲什麼這的strtotime沒有一個有效的時間戳
strtotime('1356532858') //Wed, 26 Dec 2012 14:40:58 GMT
回報28043243813
而
strtotime('1356055871') //Fri, 21 Dec 2012 02:11:11 GMT
回報false
?
我正在尋找一種解決方案,可以將任何常見日期字符串轉換爲有效的時間戳。不幸的是,還包括一些(有效)時間戳
返回false知道爲什麼這的strtotime沒有一個有效的時間戳
strtotime('1356532858') //Wed, 26 Dec 2012 14:40:58 GMT
回報28043243813
而
strtotime('1356055871') //Fri, 21 Dec 2012 02:11:11 GMT
回報false
?
我正在尋找一種解決方案,可以將任何常見日期字符串轉換爲有效的時間戳。不幸的是,還包括一些(有效)時間戳
也許你可以嘗試使用strtotime
只有當字符串不是10位?
$str = '1356055871';
$timestamp = (preg_match('/\d{10}/',$str,$match))?(int)$str:strtotime($str);
echo $timestamp;
關於這個問題,爲什麼您會收到在第一次執行的值,並在第二個false
,這是因爲1356532858
被解釋爲一些有效的日期,雖然是你期待不是:
echo date("Y-m-d H:i:s",strtotime('1356532858'));
// outputs: 2858-08-27 13:56:53
strtotime
可以接受你的時間戳,但應該有一個領先的@
:
echo date("Y-m-d H:i:s",strtotime('@1356532858'));
// outputs: 2012-12-26 15:40:58
可能是因爲多數民衆贊成在[世界結束](http://www.timeanddate.com/calendar/maya-world -end.html)(如果你錯過了)。 – 2014-08-27 15:26:50
哈哈,好一個:)但是因爲我還在這裏,所以我猜這是不同的東西 – Xaver 2014-08-27 15:28:27
如果你有一個UNIX時間戳,你不需要在它上面使用'strtotime'! – deceze 2014-08-27 15:42:45