日期格式 - DD-MM-YYYY 到 YYYY-MM-DD

Date formatting - DD-MM-YYYY to YYYY-MM-DD

MySQL table 有 2 列 - 开始日期和结束日期

他们以这种格式保存日期:22-01-2016

我做原型的时候用的是 MediumText。

现在,我想切换到日期格式。 PHPMyAdmin 中的默认日期格式是 YYYY-MM-DD

如果我将列切换为日期,我的数据将变为 0000-00-00。

使用 PHP 或 MySQL,我如何在返回 PHPMyAdmin 将列切换为日期格式之前重新格式化我的数据?

最简单和最可靠的方法是拆分日期并以相反的方式重新排列它们:

$parts = explode('-', $olddate);
$newdate = sprintf('%04d-%02d-%02d', $parts[2], $parts[1], $parts[0]);

您可以使用字符串到日期函数在更改结构之前更新列数据

UPDATE table SET dateColumn = STR_TO_DATE(dateColumn, '%d-%m-%Y');

它将 DD-MM-YYYY 格式的日期转换为 YYYY-MM-DD。之后,您只需将列的结构更改为 DATE