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

时间:2015-11-20 18:49:58

标签: 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 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上重做它

1 个答案:

答案 0 :(得分:0)

也许试试:

$dateformysql = date('Y-m-d H:i:s',strtotime($datefromsql));