我以这种格式发布日期数据:
06/11/2015
然后使用以下函数更改要插入数据库的日期格式:
ChangeDateFormat('06/11/2015', 'Y-m-d');
date_default_timezone_set('Europe/London');
if(!function_exists("ChangeDateFormat")) {
function ChangeDateFormat($date = '', $format = '') {
if($date == '' or $date == '0000-00-00' or $date == '0000-00-00 00:00:00') {
return '-';
} else {
return date($format, strtotime($date));
}
}
}
但插入以下格式:
2015-06-11
,但它应该是2015-11-06
答案 0 :(得分:1)
通过查看各个组件之间的分隔符来消除m / d / y或d-m-y格式的日期:如果分隔符是斜杠(/),则假设为美国m / d / y;而如果分隔符是破折号( - )或点(。),则假定为欧洲d-m-y格式。但是,如果年份以两位数格式给出,而分隔符是破折号( - ,日期字符串被解析为y-m-d。 为避免潜在的歧义,最好尽可能使用ISO 8601(YYYY-MM-DD)日期或DateTime :: createFromFormat()。 link