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。
Here is my PHP code:
echo '<br />1. '.$w_time_no;
echo '<br />2. '.strtotime($w_time_no);
echo '<br />3. '.date('G:i', strtotime($w_time_no));
That's what I get:
1. 0000-00-00 22:00:00
2.
3. 2:00
Why strtotime() outputs nothing by itself? Is there something wrong with server settings? Server: Apache/2.2.11 (Win32), PHP 5.2.10, MySQL client version: 5.0.51a.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您将
strtotime()
误认为time()
。strtotime
字面意思是字符串到时间,它需要一个字符串来转换......到时间。所以它无法验证该时间字符串。
You are mistaking
strtotime()
fortime()
.strtotime
is literally string to time, it needs a string to convert..... to time.So it is failing to validate that time string.
0000-00-00 不是有效日期。
我假设 date() 给出输出,因为它将输入时间解释为 0 并补偿服务器的时区。 我敢打赌
date('Ymd H:i', strtotime(...))
会给出 1970-01-01 2:000000-00-00 is not a valid date.
date() gives an output because it interprets the input time as 0 and compensates for the timezone of your server, I'd assume. I'd bet that
date('Y-m-d H:i', strtotime(...))
would give 1970-01-01 2:00strtotime
不会“输出”任何内容,顺便说一句:如果出现错误,它会返回false
; 请参阅手册:不输出任何内容的是
echo
:false
被视为空字符串,不会输出任何内容。strtotime 的文档还给出了日期的有效范围:
'0000-00-00'
超出此范围,因此不被视为有效日期; 因此返回值是false
。作为旁注,要真正了解变量内部的内容,您可以使用
var_dump
。作为 bnus,与 Xdebug 一起使用,它会给你一个格式良好的输出;-)
strtotime
doesn't "output" anything, btw : it returnsfalse
in case of an error ; see the manual :What doesn't output anything is
echo
:false
is considered as an empty string, and nothing get outputed.strtotime's documentation also gives the valid range for dates :
'0000-00-00'
is outside of this range, so it's not considered a valid date ; hence thefalse
return value.As a sidenote, to really know what's inside a variable, you can use
var_dump
.As a bnus, used with Xdebug, it'll get you a nice-formated output ;-)