我有一个变量,其中包含英国格式的日期,即250711,即2011年7月25日
当我将其插入MYSQL时,它变为2025-07-11
如何在写入MySQL之前将其转换为在MySQL中正确显示为2011-07-25?
非常感谢,
格雷格
答案 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 存储在您的数据库中。就像魔法一样。