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