PHP的strtotime()什么也不输出
题
下面是我的PHP代码:
echo '<br />1. '.$w_time_no;
echo '<br />2. '.strtotime($w_time_no);
echo '<br />3. '.date('G:i', strtotime($w_time_no));
这就是我得到:
1. 0000-00-00 22:00:00
2.
3. 2:00
为什么的strtotime()本身什么也不输出?是不是有什么毛病服务器设置?服务器:Apache / 2.2.11(Win32的),PHP 5.2.10,MySQL客户端版本:5.0.51a
解决方案
<强>返回值强> 成功返回的时间戳,FALSE
除此以外。上一页到PHP 5.1.0,这
函数将返回-1失败。 什么不输出任何东西是 的strtotime的文档也给出了日期的有效范围: 注意:时间戳的有效范围
通常为星期五,一九零一年十二月十三日
20点45分54秒UTC到星期二,2038年1月19日
3时14分07秒UTC。 (这是日期
对应于最小和
对于一个32位的最大值签署
整数)。另外,不是所有的
平台支持负的时间戳,
因此,日期范围可能
限制为不超过早期的Unix
时代。这意味着,例如日期
之前的1970年1月1日将无法正常工作的
Windows中,一些Linux发行版,和
其他几个操作系统。 PHP
5.1.0和更新的版本虽然克服此限制。 ,点击
作为一个旁注,要真正知道什么是一个变量里面,你可以使用 strtotime
不“输出”什么,顺便说一句:它在发生错误的情况下返回false
;见href="http://php.net/strtotime" rel="noreferrer">手册中
echo
:false
被认为是一个空字符串,并没有得到outputed
'0000-00-00'
是在该范围之外,因此它不被认为是一个有效的日期;因此false
返回值。var_dump
。
结果作为bnus,与的Xdebug 使用,它会给你一个不错的,格式化输出; - )
其他提示
0000-00-00是不是有效的日期。
日期(),因为它解释输入时间为0,并补偿服务器的时区给出了一个输出,我会承担。我敢打赌date('Y-m-d H:i', strtotime(...))
会给1970-01-01 2:00
您为strtotime()
误time()
。
strtotime
是字面上字符串时,它需要一个字符串转换.....到时间。
成功返回时间戳,
FALSE
否则。以前到PHP 5.1.0,该函数将返回-1
上失败。
所以它不能验证时间字符串。