我想使用1938
&解析日期1938+02:00
date()
strtotime()
。
我的代码:
echo date("Y", strtotime("1938+02:00"));
给我结果" 2014" ..
我做错了什么?
答案 0 :(得分:5)
对于这样的事情,只需获取字符串的前四个字符。无需处理日期等:
echo substr('1938+02:00', 0, 4);
但如果您坚持使用日期功能,则需要使用DateTime::createFromFormat()
,因为日期字符串不是标准格式。
$date = DateTime::createFromFormat('YP', '1938+02:00');
echo $date->format('Y');
答案 1 :(得分:0)
date("Y");
仅返回年份。这就是Y
的作用。
有关其他选项,请参阅date的手册页。
修改强>
另一件需要考虑的事情是,时间戳只能追溯到1970年。这就是时间戳(自1970年以来的秒数)。
所以,这会给你一个时间戳的负值。
答案 2 :(得分:-1)
您的日期字符串格式不合适。 here是strtotime