【发布时间】:2011-03-25 15:58:44
【问题描述】:
我有点迷失在时区:)
我的数据以 UTC 时间存储。 服务器在荷兰,所以我们住在 utc+1(现在,夏令时,在 utc+2)
现在一个客户说:给我 8 月 5 日的数据。
所以我必须从“他的时间”计算UTC时间。 为此我必须知道:
你的 utc 偏移量是多少(我们将其存储在他的个人资料中,比如说 utc -6) 你在夏令时吗(因为我们必须添加 +1 并使 utc 偏移量 -5)
然后我的问题:
请问.Net框架:XX国有夏令时吗?
请问.Net 框架:那个时候XXX 夏令时是08-05-2010T00:00:00 吗?
我一直在尝试 .ToLocalTime(),但这只是给了我服务器上的本地时间,这不是我想要的,我想用用户的时区来计算,而且事实上在那个特定的时间点,如果他/她正处于夏令时
我也看过这个 VB 例子:
TimeZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time")
Dim Dated As DateTime = TimeZoneInfo.ConvertTimeToUtc(TempDate, TimeZone)
但恕我直言,这并没有考虑到该时区的用户是否在夏令时 (dst) 国家/地区。 例如,这个时区的一个用户在荷兰有 dst,而另一个用户在另一个没有 dst 的国家。
【问题讨论】: