strtotime()不会返回false

时间:2016-06-15 20:13:32

标签: php strtotime

当我提供仅包含空格或任何其他字符的字符串时,

strtotime(" ")不会返回false。

是否有更少的代码解决方案使其返回false?

我无法使用preg_match,因为日期格式根据每个用户的区域设置而有所不同。

http://php.net/manual/en/function.strtotime.php

  

成功时返回时间戳,否则返回FALSE。 PHP之前   5.1.0,此函数在失败时返回-1。

编辑:我需要验证日期字符串,而不是修剪空格或其他用户提供的字符。

2 个答案:

答案 0 :(得分:0)

应用trim()作为解决方法,在调用strtotime()之前删除前导空格和尾随空格。

strtotime(' ')返回当前时间。

strtotime('')strtotime(trim(' ')))返回false

该函数的这种行为已经reported作为一个错误并且基于修剪有一个fix,但看起来这个补丁还没有被PHP团队接受。< / p>

答案 1 :(得分:0)

我错过了什么吗?你试过删除空间吗?是否有充分理由保留空间?当没有空间时,我会变得虚假。

strtotime(&#34;&#34;)