【问题标题】:Php Timestamp ValidationPHP时间戳验证
【发布时间】:2016-05-29 14:11:33
【问题描述】:

我有一些日期时间字符串(时间戳)如下所示

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 validation date time


【解决方案1】:

您可以使用日期时间。如果时间字符串无效,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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-01
      • 2022-11-24
      • 2011-08-19
      • 1970-01-01
      • 2020-08-29
      • 1970-01-01
      • 1970-01-01
      • 2013-10-31
      相关资源
      最近更新 更多