php 根据给定字符串时间获取时区
PHP中文网
PHP中文网 2017-04-11 10:22:56
[PHP讨论组]

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

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

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

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

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

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

PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
PHP中文网

你可以用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

大家讲道理

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号