Php 导入CSV时收到此错误DateTime::_construct():无法分析时间字符串
我正在通过HTML表单将CSV文件中的数据导入数据库,有时工作正常,有时抛出错误Php 导入CSV时收到此错误DateTime::_construct():无法分析时间字符串,php,mysql,csv,datetime,Php,Mysql,Csv,Datetime,我正在通过HTML表单将CSV文件中的数据导入数据库,有时工作正常,有时抛出错误DateTime::\uu construct():无法解析时间字符串(23/06/2015 12:00) 下面是它抛出错误的代码 $DepDate = $emapData['1']; //Format is 23/06/2015 12:00 $depdatetime = new DateTime($DepDate); //Here it throws error $date_depart = $depdatetim
DateTime::\uu construct():无法解析时间字符串(23/06/2015 12:00)
下面是它抛出错误的代码
$DepDate = $emapData['1']; //Format is 23/06/2015 12:00
$depdatetime = new DateTime($DepDate); //Here it throws error
$date_depart = $depdatetime->format('Y-m-d');
$time_depart = $depdatetime->format('H:i');
注意:我使用的是explode
,效果很好,但我想使用newdatetime()代码>您可以使用并显式设置字符串中日期的格式。或者,您可以告诉PHP猜测格式:newdatetime('@'.strottime($date))
。但是,这很容易出错。DateTime()不理解您提供的格式。它可以接受一系列格式,包括但不包括2015年6月23日12:00
。请注意@MarkBaker的评论,即您使用的/
分隔符暗示了我们的日期格式,其中第一个位置是月份,没有第23个月
如果无法更改/
,则可以使用该方法指定与实际数据格式匹配的格式。表示使用/
作为分隔符采用美国格式,使用-
采用英国/欧洲格式;因此,2015年6月23日
和/
是美国格式,没有23个月只是想知道,在某些情况下,我问题中的代码什么时候起作用,所以假设当时的日期格式是2015年6月10日(D/M/Y),那么它会将日期格式转换为(Y-M-D)这样(2015-06-10)或这样(2015-10-06)?是的,它会“起作用”在不产生错误信息的意义上,但是你的日期和月份会颠倒。该死,奇怪为什么我的客户没有注意到日期的变化