PHP以时间戳交换月和日

时间:2009-09-20 22:24:33

标签: php timestamp mktime

右。我正在将一大堆数据插入到MySQL数据库中,并使用以下内容生成时间戳:

$stamp = mktime($t[0], $t[1], $t[2], $d[2], $d[1], $d[0]);

不幸的是,日期和月份混合在一起,下面是正确的时间戳。

$stamp = mktime($t[0], $t[1], $t[2], $d[1], $d[2], $d[0]);

大约有5,000条记录。批量更新和更正的最简单方法是什么?

非常感谢!

2 个答案:

答案 0 :(得分:3)

数据库引擎是否允许您插入不可能的日期,或者您是否在日期字段中没有任何日期> 12?

在任何情况下,您都可以使用一个更新语句来修复它,但语法取决于您使用的数据库引擎。

对于MySQL,您可以使用:

UPDATE myTable SET dateColumn = STR_TO_DATE(DATE_FORMAT(dateColumn, '%d-%c-%Y %T'), '%c-%d-%Y %T')

答案 1 :(得分:2)

你做不到。作为解释,我将举一个例子:

假设你的意思是: 第13天,第2个月,1990年 但这被解读为: 第2天,第13个月,1990年 由于一年中的月份最多只能达到12个,因此将被视为: 第2天,第1个月,1991年

但是假设你的意思是: 第1天,第2个月,1991年 这可以解读为: 第2天,第1个月,1991年

因此,如果你在数据库中看到第2天,第1个月,第1991年,它来自哪个?

这就像说,我对一个整数进行平方,结果为36.我从哪开始,-6或6?