gpt4 book ai didi

c# - .NET 在给定时区的情况下将日期时间转换为 UTC

转载 作者:可可西里 更新时间:2023-11-01 08:20:08 25 4
gpt4 key购买 nike

使用 C#,我需要将传入的日期时间值转换为 UTC。我知道 .NET 中有这些转换的功能,但我必须识别时区的是标准时区列表

http://www.timegenie.com/timezones

在 .NET 中执行此操作的最佳方法是什么?我是否需要创建映射表以将时区转换为 TimeZoneInfo.GetSystemTimeZones() 中的 ID(例如“太平洋标准时间(墨西哥)”)这样我就可以使用 TimeZoneInfo.FindSystemTimeZoneById() 了?

感谢您的帮助

最佳答案

我之前通过使用映射表将时区 ID 存储在数据库中来完成此操作。即包含 TimeZone.GetSystemTimeZones()

结果的表格

您实际上不需要使用 TimeZoneInfo.FindSystemTimeZoneById():您可以使用 TimeZoneInfo.ConvertTimeBySystemTimeZoneId() 的重载之一进行转换。此方法有一些采用 DateTime 值的重载,还有一些采用 DateTimeOffset 值(这是更可取的,因为它们指定了明确的时间点)。

例如

TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, "New Zealand Standard Time", "UTC")

使用系统时区 ID 而不是存储在数据库中的偏移量的真正好处是夏令时由 TimeZoneInfo.ConvertTimeBySystemTimeZoneId 自动为您处理。

关于c# - .NET 在给定时区的情况下将日期时间转换为 UTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6949779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com