MySQL将日期字符串转换为Unix时间戳

问题描述 投票:124回答:4

如何将以下格式转换为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
mysql datetime timestamp unix-timestamp
4个回答
207
投票

试试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')

34
投票

您肯定必须使用STR_TO_DATE将日期转换为MySQL标准日期格式,并使用UNIX_TIMESTAMP从中获取时间戳。

鉴于您的日期格式,如

UNIX_TIMESTAMP(STR_TO_DATE(Sales.SalesDate, '%M %e %Y %h:%i%p'))

Will会为您提供有效的时间戳。查看STR_TO_DATE文档以获取有关格式字符串的更多信息。


11
投票

对于当前日期,只需在MySQL查询中使用UNIX_TIMESTAMP()即可。


-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
© www.soinside.com 2019 - 2024. All rights reserved.