字符串到mysql中的时间戳

时间:2011-12-21 08:54:52

标签: mysql sql timestamp

有没有办法在MySQL中将字符串转换为UNIX时间戳?

例如,我有字符串2011-12-21 02:20pm,需要采用unix时间戳格式。

2 个答案:

答案 0 :(得分:48)

UNIX_TIMESTAMP()可以解决问题:

SELECT UNIX_TIMESTAMP('2011-12-21 14:20:00');

但是,UNIX_TIMESTAMP()函数只采用标准的MySQL格式化日期。如果您想使用AM / PM表示法,则需要首先使用STR_TO_DATE,如下所示:

SELECT UNIX_TIMESTAMP(
    STR_TO_DATE('2011-12-21 02:20pm', '%Y-%m-%d %h:%i%p')
);

答案 1 :(得分:22)

虽然@ a' r已经给出了正确的答案,但我想在这里添加的是两个参数 STR_TO_DATE()功能,'日期字符串&#39 ;格式和日期格式'字符串,应该匹配' - '和':'。

例如,在4次查询后返回完全相同的结果 2014-05-28 11:30:10

SELECT STR_TO_DATE('2014-05-28 11:30:10','%Y-%m-%d %H:%i:%s');

SELECT STR_TO_DATE('20140528 11:30:10','%Y%m%d %H:%i:%s');

SELECT STR_TO_DATE('2014-05-28 113010','%Y-%m-%d %H%i%s') ;

SELECT STR_TO_DATE('20140528 113010','%Y%m%d %H%i%s');

注意:每个查询中 STR_TO_DATE()功能的2个参数具有匹配的' - '和':'