Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 导入CSV时收到此错误DateTime::_construct():无法分析时间字符串_Php_Mysql_Csv_Datetime - Fatal编程技术网

Php 导入CSV时收到此错误DateTime::_construct():无法分析时间字符串

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

我正在通过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 = $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)?是的,它会“起作用”在不产生错误信息的意义上,但是你的日期和月份会颠倒。该死,奇怪为什么我的客户没有注意到日期的变化