Here is an example. At the time of writing this message, my computer is installed in the US time zone in the Pacific, and today is March 2, 2015. This is currently Pacific Standard Time (or PST), which is 8 hours behind UTC.
DateTime dt = new DateTime(2006, 4, 1, 0, 0, 0);
TimeZoneInfo tzi = TimeZoneInfo.Local;
DateTime utc = TimeZoneInfo.ConvertTimeToUtc(dt, tzi);
, 1 2006 , UTC. ( PST). TimeZoneInfo, . - 1 2006 8:00 UTC.
:
DateTime dt = new DateTime(2006, 4, 1, 0, 0, 0);
TimeZone tz = TimeZone.CurrentTimeZone;
DateTime utc = tz.ToUniversalTime(dt);
, . 7:00 UTC.
- , United States . 2007 . DST , , , .
, TimeZoneInfo , TimeZone . , .
TimeZone, MSDN :
!
TimeZoneInfo TimeZone.
, TimeZone .NET CoreCLR.
" " MSDN TimeZoneInfo.AdjustmentRule, . - , , .
wikis StackOverflow , .
Pluralsight, , .
: DateTime.ToUniversalTime TimeZoneInfo.ConvertTimeToUtc?