MySQL将datetime转换为Unix时间戳
如何将以下格式转换为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
尝试此查询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')
您必须同时使用STR_TO_DATE
将date转换为MySQL标准date格式,并使用UNIX_TIMESTAMP
从中获取时间戳。
鉴于你的date格式,类似
UNIX_TIMESTAMP(STR_TO_DATE(Sales.SalesDate, '%M %e %Y %h:%i%p'))
威尔将给你一个有效的时间戳。 查看STR_TO_DATE
文档以获取有关格式string的更多信息。
对于当前date,只需在您的mysql query
使用UNIX_TIMESTAMP()
。
从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