我有这种格式的日期
2006年5月30日12:00 AM
在mysql中是否有等效的strtotime()可以让我将其转换为mysql日期?
答案 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"