加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP DateTime DST

发布时间:2020-12-13 17:18:25 所属栏目:PHP教程 来源:网络整理
导读:我也搜索了 PHP手册和StackOverflow,但还没有真正找到我的问题的正确答案.我的日期以UTC格式存储.如果我这样做: $date = new DateTime('2012-03-16 14:00:00','UTC');$date-setTimezone('Europe/Budapest'); DateTime :: setTimezone()会自动设置DST吗?因
我也搜索了 PHP手册和StackOverflow,但还没有真正找到我的问题的正确答案.我的日期以UTC格式存储.如果我这样做:

$date = new DateTime('2012-03-16 14:00:00','UTC');
$date->setTimezone('Europe/Budapest');

DateTime :: setTimezone()会自动设置DST吗?因此,如果我格式化字符串,它将在夏季时间输出15:00:00,冬季时间输出16:00:00吗?或者我必须手动设置DST吗?

相关问题,如果我想获得DST独立的UTC时间(我可以存储),以下工作会如何?

$date = new DateTime('now','UTC');
$date->format('Y-m-d H:i:s');

或者更好地使用简单的gmdate(‘Y-m-d H:i:s’)?

解决方法

你的假设是正确的.

此外,这将花费您10秒钟来验证自己.

编辑:

正确的语法是:

$date = new DateTime('2012-03-16 14:00:00',new DateTimeZone('UTC'));

至于你的第二个问题. DateTime构造函数中传递的时区是“引用”时区.

除非默认时区也设置为UTC(date_default_timezone_set),否则您仍应调用 – > setTimeZone(new DateTimeZone(‘UTC’))将其格式化为UTC时区.

下次,在询问之前尝试一点点尝试.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读