Действительно, вы хотите .NET 3.5 для этого ...
(я знаю, что вы спрашивали о .NET 2.0, но этот ответ может оказаться полезным для тех, кто ищет эту тему в будущем)
TimeZoneInfo mountain = TimeZoneInfo.FindSystemTimeZoneById(
"US Mountain Standard Time");
DateTime utc = DateTime.UtcNow;
DateTime local = TimeZoneInfo.ConvertTimeFromUtc(utc, mountain);
До этого ... боль. Вы можете сохранить свой собственный список смещений, но тогда вам придется беспокоиться о летнем времени.