#php #mysql
#php #mysql
Вопрос:
У меня есть немного кода, и, похоже, он работает некорректно.
Я пытаюсь поместить это в правильный формат для моей базы данных. Я делаю следующее:
date('Y-m-d H:i:s', strtotime('24/05/2011'));
Но каждый раз, когда я повторяю это, оно возвращает:
1970-01-01 10:00:00
Ответ №1:
Неоднозначность дат в форматах m / d / y или d-m-y устраняется путем рассмотрения разделителя между различными компонентами: если разделителем является косая черта (/), то предполагается американский m / d / y; тогда как если разделителем является тире (-) или точка (.), то предполагается европейский формат d-m-y.
Из документации strtotime
Это должно сработать
date('Y-m-d H:i:s', strtotime('05/24/2011'));
Комментарии:
1. Интересно, я никогда раньше не тратил время на то, чтобы выяснить, как это работает. Это из PHP. документация net?
2. Если вы изучите ссылку, вы действительно обнаружите, что это официальная документация.
Ответ №2:
Просто предположение, но попробуйте это:
date('Y-m-d H:i:s', strtotime('24/05/2011 00:00:00'));
После тестирования это показывает, что это работает:
echo date('Y-m-d H:i:s', strtotime("24-5-2011"));
Ответ №3:
Это означает, что вашей strtotime
функции не удается проанализировать эту дату. При сбое он возвращает, false
который date
читается как 0, что соответствует эпохе UNIX. Как предположил программист XR, возможно, вам потребуется немного изменить свой формат — если то, что он сказал, не работает, попробуйте преобразовать datetime
в этот формат:
date('Y-m-d H:i:s', strtotime('2011-05-24 00:00:00'));
- документация strtotime. Включает ссылку на принятые форматы даты.
Ответ №4:
Во-первых, это не date(), а strtotime(). Далее, strtotime() — это не волшебная палочка, которая читает ваши мысли и понимает любой формат.
Это просто функция, принимающая определенные аргументы. Итак, если он возвращает неверное значение — проверьте входные параметры и прочитайте руководство, чтобы убедиться, что они верны.
В-третьих, вам в любом случае не нужна такая сложная функция. Все, что вам нужно, это несколько операций со строками:
list($d,$m,$y) = explode("/",$date);
$date = "$y-$m-$d";
Понимание операций со строками — это самое важное в использовании PHP.