2011-01-06 5 views
-2

У меня есть переменная в PHP:Дата преобразования формата в PHP

$d = "19:02:13 Nov 07, 2010 PST"; 

Какой самый быстрый способ преобразовать формат так что я получаю (MySQL DATETIME):

$d = "2010-11-07 19:02:13"; 
+4

[Сколько еще вопросов по форматированию даты требуется на этом сайте?] (Http://stackoverflow.com/search?q=convert+date+format+ [php]) [Используйте функцию поиска, прежде чем запрашивать лишние дубликаты.] (http://stackoverflow.com/questions/ask-advice) – Gordon

+0

Возможный дубликат [PHP конвертировать одну дату в другой формат даты] (http://stackoverflow.com/questions/2167916/php-convert-one-date-into -another-date-format) – Gordon

+0

@ Gordon число бесконечно, по дизайну. Более повторяющиеся вопросы (хромые предпочтительно, поскольку они берут больше ответов) -> больше ответов -> больше просмотров -> больше показанных объявлений -> больше прибыли. Настаивая на использовании поиска, вы сокращаете доходы сайта! И, честно говоря, это совершенно напрасно. Ответы написаны быстрее, чем вы пишете свой комментарий :) –

ответ

3

попробовать этот

date_default_timezone_set("America/Los_Angeles"); 
echo date("Y-m-d H:i:s", strtotime("19:02:13 Nov 07, 2010 PST")); 
+1

Что не работает;) Возвращает 2010-11-08 04:02:13, когда я запускаю его, потому что он не работает, t перевести время в расчет. Как упомянуто в настройке middaparka, часовой пояс решит его. – Sondre

+0

gnagna :) с установленным часовым поясом

+0

Работает после кода часового пояса! – Yeti

1

Как легко (хотя и не эпически эффективным) способом было бы использовать strtotime следующим образом:

date('Y-m-d H:i:s', strtotime('19:02:13 Nov 07, 2010 PST')) 

Однако убедитесь, что вы установили правильный локальный часовой пояс через date_default_timezone_set или это не будет работать правильно.

+1

Какова проблема эффективности 'strtotime()'? Я постоянно использовал его в своих приложениях, но никогда не потрудился сравнивать или искать альтернативы. – Dan

+0

@TomcatExodus Purely, основанный на том, как он (несколько неизбежно) должен анализировать исходную строку, это не то, что я обычно использую слишком часто. Тем не менее, вам не о чем беспокоиться, если вы не используете его чрезмерно. –

+0

** @ middaparka **; Да, при использовании часто требуется только переформатировать даты, исходящие из внешнего источника с различным форматированием, несколько за каждый запрос, часто для вставки MySQL. Независимо от того, какие альтернативы вы считаете более эффективными? Я сразу же предполагаю, что Реджекс отсутствует. – Dan

Смежные вопросы