在d.m.Y中输入的PHP日期到mysql innoDB,有可能修复吗?

时间:2015-06-17 13:41:34

标签: php mysql

我开始研究旧代码,并注意到PHP代码$dated-m-Y格式输入到MySQL而不是Y-m-d所以在DB日期24.06.2015看起来像{{在DB中1}}所有新数据都以正确的格式放置,但DB中已有7000行格式错误。

我的问题是有可能修复已放入数据库的错误日期或读取并解析为其他格式以在客户端显示正确的数据吗?

3 个答案:

答案 0 :(得分:0)

根据你的问题,这里的问题是,你无法猜测这一年。您可以从当年的最后两位数解析它的那一天。如果您确定所有这些记录都有2015年作为年份,那么就是奖金。 也许你可以按id排序(如果是自动增量)并尝试猜测是否对应于今年或之前的一个,或者至少对你正在处理的时间范围的大多数记录都有一个概念。

无论你找到什么解决方案,都不解析它并将其显示给客户端,修复数据库中的记录,为这类事情设置异常总是不好。

答案 1 :(得分:-1)

通常,您可以将日期从date_string解析为时间戳,然后在该时间戳中以可用的形式使用日期时间。

查看此功能:strtotime

答案 2 :(得分:-1)

您可以解析日期并使用正确的参数替换它们。 这里日期24被替换为2024,因此您可以跳过前两位数字,您将获得日期。月份是正确的,无需对其进行更改,最后用2015年替换所有内容。

为此编写php脚本,将所有日期作为输入并将其转换为正确的