MySQL преобразование datetime в unix timestamp
как конвертировать следующий формат в unix timestamp?
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
4 ответов:
попробуйте этот запрос
CONVERT DATETIME to UNIX TIME STAMPSELECT UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p'))запроса
CHANGE DATE FORMATESELECT 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для преобразования даты в стандартный формат даты MySQL, иUNIX_TIMESTAMPчтобы получить timestamp из него.учитывая формат даты, что-то вроде
UNIX_TIMESTAMP(STR_TO_DATE(Sales.SalesDate, '%M %e %Y %h:%i%p'))дает вам действительную метку. Посмотрите на
STR_TO_DATEдокументация для получения дополнительной информации о формате строк.
от 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
Comments