我有一个脚本,它是从excel工作表读取值并将它们插入到sql表中。我的问题是,当脚本读取某些日期字段时,它将它们设置为默认值:1970-01-01 01:00:00
PHP的strtotime()设置日期为默认
我注意到这是发生在'date'大于12的日期时: 13/05/2012 18:52:33
(dd-mm-yyyy hh-mm-ss)
我以为这可能是由于脚本认为这是月份字段(即美国格式),它认为它是一个无效值,所以我设置我自己的默认时区希望它可以解决问题,但它没有任何区别。 date_default_timezone_set('Europe/Dublin');
下面是一个例子我的代码是做:
Excel中的字段值:
01/05/2012 18:32:45
脚本:
$start_time = $data->val($x,5);
echo $start_time = date("Y-m-d H:i:s", strtotime($start_time));
输出:
2012-01-05 18:32:45
这是我正在查找的确切格式(除了日期和月份字段切换到美国日期格式这一事实除外),但它不适用于上面提到的日期类型。
您好,感谢您的答复。尝试了你的建议,但它给了以下结果:2013-05-01 18:52:33日期13/05/2012 18:52:33 – Paddyd
@Paddyd'createFromFormat'类似于'date_parse_from_format()',所以你需要将格式更新为'd/m/YH:i:s'。 –
干杯蒂姆,改变了格式,它的工作完美! – Paddyd