Требуется TimeZoneInfo.ConvertTimeToUtc () , которая позволяет передавать информацию о часовом поясе источника в качестве параметра. Например:
TimeZoneInfo est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
DateTime someDateTimeInUtc = TimeZoneInfo.ConvertTimeToUtc(someDateTime, est);
Я думаю, это автоматически обработает переход на летнее время, но вы наверняка захотите проверить это.