MySQL将datetime转换为Unix时间戳

red*_*der 131 mysql datetime timestamp unix-timestamp

如何将以下格式转换为unix时间戳?

Apr 15 2012 12:00AM
Run Code Online (Sandbox Code Playgroud)

我从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
Run Code Online (Sandbox Code Playgroud)

Que*_*ter 213

试试这个查询 CONVERT DATETIME to UNIX TIME STAMP

SELECT UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p'))
Run Code Online (Sandbox Code Playgroud)

这个查询 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')
Run Code Online (Sandbox Code Playgroud)


str*_*rnk 34

您当然必须使用它们STR_TO_DATE将日期转换为MySQL标准日期格式,并 UNIX_TIMESTAMP从中获取时间戳.

鉴于您的日期格式,类似于

UNIX_TIMESTAMP(STR_TO_DATE(Sales.SalesDate, '%M %e %Y %h:%i%p'))
Run Code Online (Sandbox Code Playgroud)

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


sta*_*onk 11

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

  • 不回答原始帖子中的问题。 (4认同)