首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将.Net TimeZone转换为MySQL TimeZone

如何将.Net TimeZone转换为MySQL TimeZone
EN

Stack Overflow用户
提问于 2014-12-30 15:12:42
回答 1查看 339关注 0票数 0

我试图了解如何在TimeZone或TimeZoneInfo对象中使用.NET,并使用它将MySQL数据库中的所有日期从UTC转换为本地用户正确的时区。我正在构建一个桌面应用程序。我计划使用内置的Convert_TZ函数,但从这些对象获得的信息与内置方法不一致。

我发现本文(http://codeofmatt.com/2014/04/07/working-with-time-zone-names-in-net/)将时区信息对象设置为更好的显示格式,但仍然不匹配。

我对使用TimeZone对象非常陌生。如果有更好的方法来获得当前的时区,并且更容易使用,那么我将尝试这样做。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-30 22:15:23

MySQL使用IANA时区。你可以读到关于MySQL的时区支持在这里的文章。您可以在时区标记wiki中了解不同类型的时区。

Windows上的.NET与Microsoft时区一起工作。这是通过TimeZoneInfo对象完成的。旧的TimeZone对象也在.NET框架中,但不应该再使用了。

要在.NET中使用IANA时区而不是Windows,可以使用野田时间库。使用Noda Time,您可以获得系统的本地IANA时区如下:

代码语言:javascript
复制
string tz = DateTimeZoneProviders.Tzdb.GetSystemDefault().Id;

请注意,Linux或macOS上的macOS已经使用带有TimeZoneInfo对象的IANA时区,因此Noda是可选的。

如果您已经在使用Windows,则可以将它们转换为使用这里描述的方法时区。

还请注意,在这个答案的前一个版本中,我建议不要在Windows上使用MySQL的内置时区支持,因为它们没有保持时区数据的最新。这是向MySQL team 这里报告的,并且已经修复。如果您在Windows上运行MySQL,您将找到最新的时区数据文件这里

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

https://stackoverflow.com/questions/27707898

复制
相关文章

相似问题

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