用GMT php转换日期

时间:2016-03-21 09:06:58

标签: php time

我以这种格式获得约会:2016-09-23T19:15:00+02:00

我如何使用php获取格式:2016-09-23 21:15

我试过了:

date('Y-m-d H:i', strtotime('2016-09-23T19:15:00+02:00');

但是我得到了

2016-09-23 19:15.

1 个答案:

答案 0 :(得分:0)

尝试一下:

function parseDate($date){
    $parts = explode("+", $date);
    if(isset($parts[1])) {
        $ph = (int)explode(":", $parts[1])[0];
        // take "02:00", extract "02" and convert to int. result: 2
        return date("Y-m-d H:i:s", strtotime($parts[0]." + $ph hour"));
    }
    return date("Y-m-d H:i:s", strtotime($date));
}

echo parseDate("2016-09-23T19:15:00+02:00");
// output 2016-09-23 21:15:00
echo parseDate("2016-09-23T19:15:00");
// output 2016-09-23 19:15:00

您可以在3v4l.org

上查看

注意 :这可以避免使用date_default_timezone_set()来设置所有日期/时间功能使用的默认时区。如果您的应用程序已经设置了默认时区,则不建议覆盖它以进行简单的解析。