-2
我有一些時間的日期字符串(時間戳)像下面PHP的時間戳驗證
2013-03-28 12:12:32
2014-06-28 21:42:12
2015-12-28 07:23:45
2016-02-28 01:19:00
所有的人都有效。但是
2011-02-30 25:12:12
這不是有效的時間戳。
我想檢查時間戳是否有效。
所以我的問題是我如何驗證它們。
我有一些時間的日期字符串(時間戳)像下面PHP的時間戳驗證
2013-03-28 12:12:32
2014-06-28 21:42:12
2015-12-28 07:23:45
2016-02-28 01:19:00
所有的人都有效。但是
2011-02-30 25:12:12
這不是有效的時間戳。
我想檢查時間戳是否有效。
所以我的問題是我如何驗證它們。
您可以使用DateTime。如果時間字符串無效,DateTime將引發異常。
try {
new DateTime('2011-02-30 25:12:12');
} catch (Exception $e) {
// Do something when time string is incorrect
}
試試這個功能:
function isValidTimeStamp($timestamp)
{
return ((string) (int) $timestamp === $timestamp)
&& ($timestamp <= PHP_INT_MAX)
&& ($timestamp >= ~PHP_INT_MAX);
}
如果給定$timestamp
是一個字符串,並只包含數字和可選的負的字符,該檢查將只返回true。該數字也必須在整數的位範圍內。
鋸here
這可能有助於http://php.net/manual/en/datetime.createfromformat.php –
通過閱讀文檔[**'的strtotime()'**](HTTP:/ /php.net/manual/en/function.strtotime.php) – MonkeyZeus
你是怎麼得到25:12:12的?我會嘗試改進用戶界面(例如,將正確的html輸入字段(如>)),而不是在服務器上進行驗證。 – Johnny