首页 文章

MySQL将datetime转换为Unix时间戳

提问于
浏览
123

如何将以下格式转换为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

4 回答

  • 202

    试试这个查询 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')
    
  • 33

    您肯定必须使用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
    

相关问题