PHP日期转换为不正确的格式

时间:2015-12-10 18:39:49

标签: php

我以这种格式发布日期数据:

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

1 个答案:

答案 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