我们可以借助UNIX_TIMESTAMP()函数将MySQL日期和时间转换为Unix时间戳。
以下是查询。
mysql> SELECT UNIX_TIMESTAMP(STR_TO_DATE('Oct 19 2018 10:00PM', '%M %d %Y %h:%i%p'));
运行上面的查询后,我们将不会获得日期格式的输出,如下面的输出所示。此处显示的输出是Unix时间戳。
+------------------------------------------------------------------------+ | UNIX_TIMESTAMP(STR_TO_DATE('Oct 19 2018 10:00PM', '%M %d %Y %h:%i%p')) | +------------------------------------------------------------------------+ | 1539966600 | +------------------------------------------------------------------------+ 1 row in set (0.04 sec)
要获取实际的日期/时间,查询如下。
mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(STR_TO_DATE('Oct 19 2018 10:00PM', '%M %d %Y %h:%i%p')),'%m-%d-%Y %h:%i:%p');
以下是输出。
+-----------------------------------------------------------------------------------------------------------+ | FROM_UNIXTIME(UNIX_TIMESTAMP(STR_TO_DATE('Oct 19 2018 10:00PM', '%M %d %Y %h:%i%p')),'%m-%d-%Y %h:%i:%p') | +-----------------------------------------------------------------------------------------------------------+ | 10-19-2018 10:00:PM | +-----------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)