Преобразование даты в формат MYSQL понимает? - PullRequest
0 голосов
/ 28 июля 2011

У меня есть переменная, которая содержит дату в британском формате, то есть 250711, что означает 25 июля 2011 года

Когда я вставляю это в MYSQL, оно становится 2025-07-11

Как можноЯ преобразую его перед записью в MySQL, чтобы в MySQL правильно отображалось как 2011-07-25?

Большое спасибо,

Грег

Ответы [ 2 ]

6 голосов
/ 28 июля 2011

Если вы все равно хотите использовать строку для оператора вставки / обновления / выбора, вы можете позволить MySQL сделать всю работу

INSERT INTO ... STR_TO_DATE('250711','%d%m%y')

см. http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_str-to-date

0 голосов
/ 05 июля 2013

Эй, надеюсь, еще не поздно ответить на этот вопрос; однако это должно помочь людям, которые будут рассматривать этот вопрос в будущем

Просто используйте эту функцию:

function mysqlDate($input) {
  $output = false;
  $d = preg_split('#[-/:. ]#', $input);
  if (is_array($d) && count($d) == 3) {
    if (checkdate($d[1], $d[0], $d[2])) {
      $output = "$d[2]-$d[1]-$d[0]";
    }
  }
  return $output;
}

Допустим, у вас есть дата, введенная как $ _ POST ['date'] , использование функции будет таким, как показано ниже:

$newDate = mysqlDate($_POST['date']);

Просто сохраните $ newDate в своей базе данных. Работает как магия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...