使用Mysql转换日期

时间:2009-04-08 19:27:37

标签: mysql datetime

我有这种格式的日期

2006年5月30日12:00 AM

在mysql中是否有等效的strtotime()可以让我将其转换为mysql日期?

2 个答案:

答案 0 :(得分:16)

我认为您正在寻找STR_TO_DATE功能。不幸的是,它不像PHP的strtotime那么棒,所以你必须给它一个格式掩码来解析:

mysql> SELECT STR_TO_DATE('04/31/2004', '%m/%d/%Y');
        -> '2004-04-31'

对于你的约会对象,我认为掩码是%M %e %Y %l:%i%p,具体取决于你是否期望短/长月名和0天。根据您的示例,它可以是:

mysql> SELECT STR_TO_DATE('May 30 2006 12:00AM', '%M %e %Y %l:%i%p');
+--------------------------------------------------------+
| STR_TO_DATE('May 30 2006 12:00AM', '%M %e %Y %l:%i%p') |
+--------------------------------------------------------+
| 2006-05-30 00:00:00                                    |
+--------------------------------------------------------+
1 row in set (0.00 sec)

查看full reference table的掩码选项。

答案 1 :(得分:2)

您可以使用STR_TO_DATE(http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_str-to-date)。

格式应该是:

"%b %d %Y %l:%i%p"