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


Format multiple type of date string into a same date format on PHP

我目前在从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));