Mic*_*cah 1 c# timezone datetime .net-4.0
我在东海岸,所以我的时区Eastern Standard Time偏移了-05:00:00.但我喜欢调用方法时noticied DateTimeOffset.UtcNow和DateTime.Now.ToUniversalTime()它只是声称我有一个偏移-04:00:00.
DateTime.Now
// 6/8/2011 8:08:26 PM
DateTime.UtcNow
// 6/9/2011 12:08:26 AM
DateTimeOffset.UtcNow
// 6/9/2011 12:08:26 AM +00:00
DateTime.Now.ToUniversalTime()
// 6/9/2011 12:08:26 AM
TimeZoneInfo.ConvertTimeToUtc(DateTime.Now)
// 6/9/2011 12:08:26 AM
TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now)
// -04:00:00
TimeZone.CurrentTimeZone.StandardName
// Eastern Standard Time
TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time").BaseUtcOffset
// -05:00:00
Run Code Online (Sandbox Code Playgroud)
正如你所看到的那样,尽管它清楚地表明我处于"东部标准时间"区域,但它只计算我的偏移量-05:00:00.我也验证了我的Windows时钟说我在正确的时区.有谁知道这里发生了什么?