Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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上将多种类型的日期字符串格式化为相同的日期格式_Php_Mysql_Sql Server_Json_Datetime - Fatal编程技术网

在PHP上将多种类型的日期字符串格式化为相同的日期格式

在PHP上将多种类型的日期字符串格式化为相同的日期格式,php,mysql,sql-server,json,datetime,Php,Mysql,Sql Server,Json,Datetime,我目前在从SQL Server获取数据并将其更改为DATETIME字段类型的mySQL时遇到问题 问题是,我收到一个包含SQL数据的JSON并对其进行解码,然后运行foreach从JSON获取所有数据,在前面的问题中,我验证字段是否为空,但现在我在格式化DATETIME字符串时遇到了问题,我没有所有代码,但问题是: $datefromsql = '01/04/2015';//on SQL DB is 2015-04-01 00:00:00 $datefromsql = '01/04/2015 1

我目前在从SQL Server获取数据并将其更改为DATETIME字段类型的mySQL时遇到问题

问题是,我收到一个包含SQL数据的JSON并对其进行解码,然后运行foreach从JSON获取所有数据,在前面的问题中,我验证字段是否为空,但现在我在格式化DATETIME字符串时遇到了问题,我没有所有代码,但问题是:

$datefromsql = '01/04/2015';//on SQL DB is 2015-04-01 00:00:00
$datefromsql = '01/04/2015 12:20:00';//this on SQL DB is 2015-04-01 12:20:00
我不知道为什么在构建JSON时,日期格式是我声明的变量,问题是mySQL只允许Y-m-d H:I:s,搜索它们不允许其他格式。我尝试了以下方法

$dateformysql = date_format(date_create_from_format('d/m/Y H:i:s', $datefromsql), 'Y-m-d H:i:s');
但是,当他们没有时间时,它不仅会得到日期,而且会在所有数据中插入0。我怎么能这样做

mySQL和SQL上的字段都是DATEFORMAT类型,问题是日期是双向的,因为我无法修改数据是如何产生的,所以我需要在PHP上对其进行重新处理

$dateformysql = date('Y-m-d H:i:s',strtotime($datefromsql));
它现在运行良好:)现在我必须测试它是否能在所有字段上运行,但也许你能告诉我为什么我的代码不能运行吗?