我有这样的代码:
$date = substr($item[8], 7, 9);
$date = str_replace('/', '-', $date);
此时,$date包含:
12-21-12 <---- December 21, 2012
现在我正在尝试将日期输出为输入类型="日期"友好的格式,如:
<input type="date" name="date" value="<?php echo date('Y-m-d', strtotime($date)); ?>">
但是不能正常输出。
如果我将type="date"更改为type="text",我将看到以下输出:
1969-12-31
显然有些地方不对劲date('m-d-Y', strtotime($date));
谁能帮我解决这个问题? 日期格式必须为Y-m-d
,不能为m-d-Y
。
如果您使用的是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')
所述,因为日期格式在月份和年份方面是不明确的。
删除
$date = str_replace('/', '-', $date);
解决问题