c# - 无论本地时区如何,获取另一个时区的日期时间

标签 c# datetime .net-2.0

无论用户的本地时区设置如何,使用 C# (.NET 2.0) 我都需要确定东部时区的时间(DateTime 对象)。

我知道这些方法,但似乎没有明显的方法来获取与用户所在时区不同的时区的 DateTime 对象。

 DateTime.Now
 DateTime.UtcNow
 TimeZone.CurrentTimeZone

当然,解决方案需要了解夏令时。

最佳答案

在 .NET 3.5 中,有 TimeZoneInfo ,它提供了很多这方面的功能; 2.0SP1 有 DateTimeOffset , 但这要受限得多。

获取 UtcNow 并添加固定偏移量是工作的一部分,但不支持 DST。

所以在 3.5 中,我认为你可以这样做:

DateTime eastern = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(
    DateTime.UtcNow, "Eastern Standard Time");

但这在 2.0 中根本不存在;对不起。

关于c# - 无论本地时区如何,获取另一个时区的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/441109/

相关文章:

php - 在 php 中按给定间隔对测量/时间序列求和的有效方法

winforms - 如何使 Windows 窗体 UI 响应式?

c# - 调用 new SqlConnection() 挂起程序

c# - 锁与 AcquireReader 和 writer 锁

c# - Telerik RadWindow 和 Response.Redirect - JavaScript 错误

c# - 对于某些文化,解析包含毫秒的 DateTime 失败。为什么?

vb.net - .NET 日期常量(带全局化)

c++ - .NET 2.0 + C++ 的加密算法/库

c# - 使用 PlayerPrefs 的 Unity Highscore 无法正常工作

c# - 应用程序 Dispose 调用阻止