C#asp.net中的日光时区转换

Daylight Time Zone conversion in C# asp.net

如何使用C#asp.net检查特定时区是否属于"DAYLIGHTTIMEZONE"?

如果时区属于"DAYLIGHTTIMEZONE",我应该将时间更改为标准时区吗?

我将获得用户输入的时区(Windows操作系统中列出的时区)并将其存储在数据库中,每当用户登录时,我将根据用户选择的时区显示时间和日期。现在,白天是什么角色 在这里玩? 如果特定时区属于"DaylightsavingZone",是否应进行任何更改。


使用.NET 3.5中引入的TimeZoneInfo类。

目前尚不清楚你的更大目标是什么,但基本上TimeZoneInfo应涵盖你想要做的任何事情,例如从一个时区转换到另一个时区。它并不总是最简单的类正确使用,部分是因为DateTime类型的设计很糟糕,不幸的是:(

我正在(偶尔!)在一个名为Noda Time的.NET新日期和时间库上工作,但遗憾的是还没有准备好:(

编辑:好的,所以你的步骤应该是:

  • 找出如何以适当的形式从TimeZoneInfo获取用户的时区。您最终希望将Id存储在数据库中。
  • 当您想要显示时间时:

    • 使用FindSystemTimeZoneById获取时区
    • 使用DateTimeOffset.UtcNow获取当前时间
    • 调用TimeZoneInfo.ConvertTime转换为目标时区
    • 为用户适当地格式化结果


我想你正在寻找TimeZone.IsDaylightSavingTime