使用PHP在SQL中为DATETIME转换日期

에이바*_*에이바 5 php mysqli type-conversion sqldatatypes

我在PHP中有一个论坛,它采用类似于表单的日期 dd/mm/yyyy hh:mm:ss.但是,我需要将其作为DATETIME以SQL格式插入SQL yyyy-mm-dd hh:mm:ss.我该如何转换这些数据?

kod*_*art 18

您的日期时间格式错误:dd/mm/yyyy hh:mm:ss.可能你的意思是d/m/Y H:i:s

如果你有5.3+版本,有安全的方法将日期时间转换为另一种格式.这是一个例子:

$timestamp = '31/05/2001 12:22:56';
$timestamp = DateTime::createFromFormat('d/m/Y H:i:s', $timestamp);
echo $timestamp->format('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)

或者如果你喜欢更多的程序方式:

$timestamp = '31/05/2001 12:22:56';
$timestamp = date_create_from_format('d/m/Y H:i:s', $timestamp);
echo date_format($timestamp, 'Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)

小心以前的建议.有些是完全错误的,有些则可能导致错误.

  • 澄清你可以在哪里遇到问题.使用strtotime()分隔符很重要; 在你的情况下它是斜杠(/)意思是:US格式是ASSUMED(m/d/Y).如果分隔符是破折号( - ),则欧洲格式(dmY)为ASSUMED.所以,不要假设任何事情;) (3认同)