У меня есть следующая временная метка MySQL: 2009-06-23 16:21:48 Как я могу преобразовать ее в формат, подобный mktime()?
преобразовать временную метку mysql в mktime
Ответы (3)
Существует функция MySQL unix_timestamp
< /а>. В своем SQL-запросе вместо прямого выбора столбца Datetime или Timestamp сделайте следующее:
SELECT unix_timestamp(MyDatetimeColumn) FROM MyTable
В качестве альтернативы, если у вас уже есть строка, вы можете использовать функцию PHP strtotime()
.
person
Matt Bridges
schedule
30.06.2009
Вероятно, вы также захотите использовать псевдоним для имени: SELECT UNIX_TIMESTAMP(MyDatetimeColumn) AS MyTimestampColumn
- person Greg; 30.06.2009
где я должен выполнить расчет, чтобы максимизировать эффективность? на уровне PHP или на уровне MySQL?
- person ; 30.06.2009
Реализация SQL, вероятно, быстрее, потому что ей не нужно анализировать строку.
- person Matt Bridges; 30.06.2009
хорошо, я боролся с этим неделю (дольше, но я сделал перерыв).
У меня есть два конкретных поля в таблицах
creationDate > timestamp > current_timestamp editDate > timestamp > current_timestamp
вытягивали то ли 31 декабря 1969, то ли вообще ничего... раздражает... очень раздражает
в запросе mysql я сделал:
unix_timestamp(creationDate) AS creationDate unix_timestamp(editDate) AS editDate
в конвертации php я сделал:
$timestamp = $result_ar['creationDate']; $creationDate = date("Y-M-d (g:i:s a)", $timestamp) echo($creationDate); $editstamp = $result_ar['editDate']; $editDate = date("Y-M-d (g:i:s a)", $editstamp) echo($editDate);
это решило мою проблему для моего возвращения
2010-Jun-28 (5:33:39 pm) 2010-Jun-28 (12:09:46 pm)
соответственно.
Я надеюсь, что это поможет кому-то...
person
James Van Leuvaan
schedule
02.07.2010