преобразовать временную метку mysql в mktime

У меня есть следующая временная метка MySQL: 2009-06-23 16:21:48 Как я могу преобразовать ее в формат, подобный mktime()?


person Community    schedule 30.06.2009    source источник


Ответы (3)


Существует функция MySQL unix_timestamp< /а>. В своем SQL-запросе вместо прямого выбора столбца Datetime или Timestamp сделайте следующее:

SELECT unix_timestamp(MyDatetimeColumn) FROM MyTable

В качестве альтернативы, если у вас уже есть строка, вы можете использовать функцию PHP strtotime().

person Matt Bridges    schedule 30.06.2009
comment
Вероятно, вы также захотите использовать псевдоним для имени: SELECT UNIX_TIMESTAMP(MyDatetimeColumn) AS MyTimestampColumn - person Greg; 30.06.2009
comment
где я должен выполнить расчет, чтобы максимизировать эффективность? на уровне PHP или на уровне MySQL? - person ; 30.06.2009
comment
Реализация 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

Вы можете использовать функцию strtotime.

person Alen Sindicic    schedule 30.06.2009