php日期格式问题

kus*_*agi 0 php

我有代码

$dss='2011 04 28 10:00:45';
echo date('Y', strtotime($dss));
Run Code Online (Sandbox Code Playgroud)

它显示1970-为什么?

Cha*_*les 6

它显示1970-为什么?

因为格式YYYY MM DD HH:MM:SS不是接受格式之一strtotime.特别是,它找不到有效的日期字符串.

如果您正在使用PHP 5.3或更高版本,请查看DateTime::createFromFormat(),它采用date格式化字符串并基于该格式创建新的DateTime对象.

如果您坚持使用较低版本的PHP,那么您的"最佳"选择就是笨重strptime.

或者,你可以只是坚持之间的破折号YYYYMM,然后之间的MMDD,产生YYYY-MM-DD,完全cromulent格式.