如何将以下格式转换为unix时间戳?
Apr 15 2012 12:00AM
我从DB获得的格式最后似乎有AM
。
我尝试过使用以下内容但它不起作用:
CONVERT(DATETIME, Sales.SalesDate, 103) AS DTSALESDATE,
CONVERT(TIMESTAMP, Sales.SalesDate, 103) AS TSSALESDATE
where Sales.SalesDate value is Apr 15 2012 12:00AM
答案 0 :(得分:206)
尝试CONVERT DATETIME to UNIX TIME STAMP
SELECT UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p'))
此查询CHANGE DATE FORMATE
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p')),'%m-%d-%Y %h:%i:%p')
答案 1 :(得分:34)
您肯定必须同时使用STR_TO_DATE
将日期转换为MySQL标准日期格式,并使用UNIX_TIMESTAMP
来获取时间戳。
考虑到你日期的格式,比如
UNIX_TIMESTAMP(STR_TO_DATE(Sales.SalesDate, '%M %e %Y %h:%i%p'))
将为您提供有效的时间戳。查看STR_TO_DATE
文档以获取有关格式字符串的更多信息。
答案 2 :(得分:11)
对于当前日期,只需在MySQL查询中使用UNIX_TIMESTAMP()
。
答案 3 :(得分:-5)
来自http://www.epochconverter.com/
SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())
My bad, SELECT unix_timestamp(time) Time format: YYYY-MM-DD HH:MM:SS or YYMMDD or YYYYMMDD. More on using timestamps with MySQL:
http://www.epochconverter.com/programming/mysql-from-unixtime.php