首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >TimeZoneInfo.ConvertTimeFromUtc返回错误的DateTime

TimeZoneInfo.ConvertTimeFromUtc返回错误的DateTime
EN

Stack Overflow用户
提问于 2018-07-13 13:18:03
回答 2查看 740关注 0票数 1

我打电话给方法:

代码语言:javascript
代码运行次数:0
运行
复制
TimeZoneInfo.ConvertTimeFromUtc(DateTime.Now.ToUniversalTime(), TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time"))  // UTC+0

返回的DateTime比正确的DateTime大一个小时。为什么?它将如何修复?

返回的值应该相等于DateTime.Now.ToUniversalTime()

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-13 13:30:11

世界协调时等于格林尼治标准时间。但是现在我们正在BST,因为夏天,也就是格林尼治标准时间+ 1。GMT Standard Time会自动调整夏令。如果不想调整夏时制,可以使用Greenwich Standard Time,而不是GMT Standard Time

编辑:您所要做的就是将GMT Standard Time更改为Greenwich Standard Time (见下文)。

代码语言:javascript
代码运行次数:0
运行
复制
TimeZoneInfo.ConvertTimeFromUtc(DateTime.Now.ToUniversalTime(), TimeZoneInfo.FindSystemTimeZoneById("Greenwich Standard Time"))
票数 2
EN

Stack Overflow用户

发布于 2018-07-13 13:24:20

DateTime.Now.ToUniversalTime()已经重新运行了UTC,您不需要再次将其转换为UTC。

提示:如果您真的需要UTC,可以使用DateTime.UtcNow,那么您根本不必关心时区以及您的本地时区可能是什么。

更新:哦,“格林威治标准时间”不是“格林威治标准时间”。

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

https://stackoverflow.com/questions/51326079

复制
相关文章

相似问题

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