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

2022-01-12 00:00:00 type-conversion php mysqli sqldatatypes

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

I have a forum in PHP which takes a date like in the form dd/mm/yyyy hh:mm:ss. However, I need to insert it for SQL as a DATETIME in the format as yyyy-mm-dd hh:mm:ss. How can I convert this data?

推荐答案

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

Your date time format is wrong: dd/mm/yyyy hh:mm:ss. Probably you mean d/m/Y H:i:s

如果您有 5.3+ 版本,则可以安全地将日期时间转换为另一种格式.这是一个例子:

If you have 5.3+ version there is safe way to convert the date time into another format. Here's an example:

$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');

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

or if you like more procedural way:

$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');

注意以前的建议.有些是完全错误的,有些可能会导致错误.

Be careful with previous suggestions. Some are completely wrong and others could lead to errors.

相关文章