2016-02-17 48 views
-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 

這不是有效的時間戳。

我想檢查時間戳是否有效。

所以我的問題是我如何驗證它們。

+0

這可能有助於http://php.net/manual/en/datetime.createfromformat.php –

+0

通過閱讀文檔[**'的strtotime()'**](HTTP:/ /php.net/manual/en/function.strtotime.php) – MonkeyZeus

+0

你是怎麼得到25:12:12的?我會嘗試改進用戶界面(例如,將正確的html輸入字段(如)),而不是在服務器上進行驗證。 – Johnny

回答

1

您可以使用DateTime。如果時間字符串無效,DateTime將引發異常。

try { 
    new DateTime('2011-02-30 25:12:12'); 
} catch (Exception $e) { 
    // Do something when time string is incorrect 
} 
2

試試這個功能:

function isValidTimeStamp($timestamp) 
{ 
    return ((string) (int) $timestamp === $timestamp) 
     && ($timestamp <= PHP_INT_MAX) 
     && ($timestamp >= ~PHP_INT_MAX); 
} 

如果給定$timestamp是一個字符串,並只包含數字和可選的負的字符,該檢查將只返回true。該數字也必須在整數的位範圍內。

here