Mic*_*hel 8 .net c# datetime dst
我在时区有点迷失了:)
我有以UTC时间存储的数据.服务器在荷兰,所以我们住在utc + 1(现在,在daylightavingtime,utc + 2)
现在客户说:从8月5日开始给我数据.
所以我必须从'他的时间'计算出来的时间.为此,我必须知道:
什么是你的utc偏移(我们存储在他的个人资料中,让我们说utc -6)你是在白天时间(因为那时我们必须添加+1并使utc偏移-5)
然后我的问题:
我可以问.Net框架:国家XX是否有白天时间?
我可以问.Net框架:在那个时刻的国家XXX daylightavingtime是08-05-2010T00:00:00吗?
我一直在尝试.ToLocalTime(),但是这只给了我服务器的本地时间,这不是我想要的,我想用用户的时区计算,还有在那个特定的事实时间点,如果他/她处于白天
我也看过这个VB例子:
TimeZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time")
Dim Dated As DateTime = TimeZoneInfo.ConvertTimeToUtc(TempDate, TimeZone)
Run Code Online (Sandbox Code Playgroud)
但是imho没有考虑到这个时区的用户是否处于daylightavingtime(dst)国家/地区.例如,这个时区的一个用户在荷兰有dst,另一个用户在另一个没有dst的国家.
您无法询问有关特定国家/地区的框架- 但您可以询问特定时区.
TimeZoneInfo 确实考虑了DST.(哎呀,它没有IsDaylightSavingTime其他的方法.)如果你有两个用户,其中一个目前正在观察DST而另一个不是,那么他们不在同一时区.
如果您可以指定您正在谈论的位置,我可以尝试找出涉及的时区.(通常更容易找到Olson名称,但找到Windows ID并不是不可能的.)
| 归档时间: |
|
| 查看次数: |
2798 次 |
| 最近记录: |