将日期转换为MYSQL理解的格式?

时间:2011-07-28 11:41:33

标签: php mysql date

我有一个变量,其中包含英国格式的日期,即250711,即2011年7月25日

当我将其插入MYSQL时,它变为2025-07-11

如何在写入MySQL之前将其转换为在MySQL中正确显示为2011-07-25?

非常感谢,

格雷格

2 个答案:

答案 0 :(得分:6)

如果你想将字符串用于insert / update / select语句,你可以让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

答案 1 :(得分:0)

嘿,我希望回答这个问题并不太晚;但它应该有助于将来会看到这个问题的人

只需使用此功能:

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 存储在您的数据库中。就像魔法一样。