search

Home  >  Q&A  >  body text

php 根据给定字符串时间获取时区

现在又这样一个时间字符串变量

$datetime = '2016-10-10T11:34:16+0800';

可以看出它是一个UTC+8时区的时间,所以:

1、php怎么获取这个时间字符串的时区?

2、php是否可以将这个时间字符串转为其它时区的时间字符串,如转换为UTC+0时区?

这里补充一下:时间字符串的时区是看不出来的,这里给的时间字符串只是个例子

PHP中文网PHP中文网2773 days ago345

reply all(2)I'll reply

  • PHP中文网

    PHP中文网2017-04-11 10:24:56

    你可以用DateTime对象。

    $dt = new DateTime($datetime); //用你提供的时间字符串创建对象
    $tz = $dt->getTimezone(); //获取时区对象
    echo $tz->getName(); //输出时区名称
    $tz2 = new DateTimeZone('GMT'); //新建时区对象
    $dz->setTimezone($tz2); //设置新时区
    echo $dz->format('c'); //输出ISO 8601格式的时间,就是你上面提供的那种格式

    具体参考文档:http://php.net/DateTime

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-11 10:24:56

    通过 strtotime($datetime); 转成时间戳再去转换成其他时区的。

    reply
    0
  • Cancelreply