首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP DateTime DST

PHP DateTime DST
EN

Stack Overflow用户
提问于 2012-03-16 19:58:01
回答 1查看 3.5K关注 0票数 4

我也搜索了PHP手册和StackOverflow,但没有真正找到我的问题的正确答案。我的日期以UTC格式存储。现在,如果我这样做了:

代码语言:javascript
复制
$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时间(我可以存储),可以使用以下方法吗?

代码语言:javascript
复制
$date = new DateTime('now', 'UTC');
$date->format('Y-m-d H:i:s');

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-16 20:00:13

你的假设是正确的。

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

编辑:

正确的语法是:

代码语言:javascript
复制
$date = new DateTime('2012-03-16 14:00:00', new DateTimeZone('UTC'));

关于你的第二个问题。传入DateTime构造函数的时区是“reference”时区。

除非默认时区也设置为UTC (date_default_timezone_set),否则仍应调用->setTimeZone(new UTC (‘UTC’))在UTC时区中对其进行格式化。

下一次,在询问之前,试着更努力地尝试一些东西。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9736789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档