如何将以下格式转换为 Unix 时间戳?
Apr 15 2012 12:00AM
我从数据库中获取的格式似乎末尾带有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
如何将以下格式转换为 Unix 时间戳?
Apr 15 2012 12:00AM
我从数据库中获取的格式似乎末尾带有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
这里是将 DATETIME
转换为 UNIX 时间戳的示例代码:
SELECT UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p'))
这里是修改日期格式的示例代码:
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')
select * from (SELECT order_increment_id, FROM_UNIXTIME(UNIX_TIMESTAMP(STR_TO_DATE(order_date, '%d %M %Y %h:%i:%s %p')),'%Y-%m-%d') as order_date, email_sent FROM `packingslip_header` where email_sent=0) t where order_date >= '2019-11-13' ORDER BY order_increment_id ASC
这是我的日期 31 Oct 2017 4:16:49 pm
,所以我需要使用 %d %M %Y %h:%i:%s %p
来进行 STR_TO_DATE
。 - Damodar BashyalSTR_TO_DATE
将你的日期转换为 MySQL 标准日期格式,以及 UNIX_TIMESTAMP
来从中获取时间戳。
考虑到你的日期格式,类似于
UNIX_TIMESTAMP(STR_TO_DATE(Sales.SalesDate, '%M %e %Y %h:%i%p'))
使用Will可以得到一个有效的时间戳。查看STR_TO_DATE
文档以获取有关格式字符串的更多信息。
Date.getTime()
返回的时间戳,你应该将其乘以1000。SELECT UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p'))*1000
现在如果需要更标准的日期格式,请使用:
SELECT UNIX_TIMESTAMP(STR_TO_DATE('2022-12-14 20:58:00', '%Y-%m-%d %H:%i:%s'))*1000
来自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