Php时间戳验证

时间:2016-02-17 17:49:08

标签: php validation date time

我有一些日期时间字符串(时间戳)像下面

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

这不是有效的时间戳。

我希望检查时间戳有效。

所以我的问题是我如何验证它们。

2 个答案:

答案 0 :(得分:2)

尝试此功能:

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

如果给定的$timestamp是一个字符串并且仅由数字和可选的减号组成,则此检查仅返回true。该数字也必须在整数的位范围内。

看见here

答案 1 :(得分:1)

您可以使用DateTime。如果时间字符串无效,DateTime将抛出异常。

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