我有这段代码:
$date = substr($item[8], 7, 9);
$date = str_replace('/', '-', $date);
此时,$ date包含:
12-21-12 <---- December 21, 2012
现在我正在尝试将日期输出到输入类型=&#34; date&#34;友好的格式:
<input type="date" name="date" value="<?php echo date('Y-m-d', strtotime($date)); ?>">
但它不能正确输出。
如果我更改type =&#34; date&#34;输入=&#34; text&#34;我看到以下输出:
1969-12-31
显然,某些东西在
中无法正常工作date('m-d-Y', strtotime($date));
任何人都可以帮我解决问题吗?
答案 0 :(得分:2)
日期必须为Y-m-d
格式,而不是m-d-Y
。
答案 1 :(得分:2)
如果您使用的是PHP 5.3+,我鼓励使用DateTime
类。
在你的情况下:
$date = DateTime::createFromFormat('m-d-y', '12-21-12');
echo $date->format('Y-m-d'); // 2012-12-21
如前所述strtotime('12-21-12')
因为日期格式在月份和年份方面不明确。
答案 2 :(得分:0)
删除
$date = str_replace('/', '-', $date);
解决问题。