代码之家  ›  专栏  ›  技术社区  ›  gsueagle2008

使用MySQL转换日期

  •  6
  • gsueagle2008  · 技术社区  · 15 年前

    我有一个这种格式的日期

    2006年5月30日上午12:00

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

    2 回复  |  直到 15 年前
        1
  •  16
  •   Paolo Bergantino    15 年前

    我想你在找 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 对于遮罩选项。

        2
  •  2
  •   Seb    15 年前

    你可以用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"