字符串到mysql中的时间戳

AvM*_*hra 30 mysql sql timestamp

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

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

a'r*_*a'r 51

UNIX_TIMESTAMP() 诀窍:

SELECT UNIX_TIMESTAMP('2011-12-21 14:20:00');
Run Code Online (Sandbox Code Playgroud)

但是,该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')
);
Run Code Online (Sandbox Code Playgroud)


sac*_*tiw 24

虽然@ a'r已经给出了正确的答案,但我想在这里添加的是两个参数STR_TO_DATE()函数,'日期字符串'格式和'日期格式'字符串,应该具有匹配的' - '位置和':'.

例如,在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');
Run Code Online (Sandbox Code Playgroud)

注意:每个查询中STR_TO_DATE()函数的2个参数具有" - "和":"的匹配位置