gpt4 book ai didi

c# - 使用 C# 将时间转换为指定时区?

转载 作者:行者123 更新时间:2023-11-30 19:50:20 24 4
gpt4 key购买 nike

我正在使用 C# 和 .Net 3.5 开发一个应用程序。我将用户的时区值存储在数据库中,格式为 (-05:00,1),其中 -5.00 表示 EST 时区值,1 表示此时区遵循夏令时(如果为 0 则不是夏令时)。

现在我想将任何日期时间值转换为考虑夏令时值的时区值。

感谢任何帮助。谢谢

最佳答案

仅仅有一个偏移量以及它是否处于夏令时并不足以指示一个时区:可能有多个时区具有相同的标准偏移量和 DST 偏移量,但它们在不同时间有 DST 转换.

这些数据是否已经在数据库中,或者您还在设计它?理想情况下,您应该存储一个时区 ID - 那些 TimeZoneInfo使用的是 Windows ID,这不是 IMO 的理想选择(我更喜欢其他行业倾向于使用的 IANA/Olson ID),但至少它确实代表了一个实时时区。

一旦您获得了 TimeZoneInfo 和您想要转换的瞬间,ConvertTimeFromUtcConvertTimeToUtc可能是您所追求的-但要注意“任何日期时间值”的含义;你需要确保你始终准确地知道你代表的是什么。

BCL 在所有这些方面都有些模糊,这是我开始 Noda Time 的原因之一,它允许使用 IANA 时区数据以及 BCL。

关于c# - 使用 C# 将时间转换为指定时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2431916/

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