C # Datetimes: преобразование для разных часовых поясов

У меня есть несколько дат, которые я отслеживаю для своего приложения. Все они указаны по всемирному координированному времени. Что касается части моего приложения, я хочу отправить электронное письмо с одним из этих времен, но отредактированным так, чтобы он находился в этом конкретном часовом поясе.

Я буду иметь дело только с двумя основными областями: восточное побережье и Техас (Даллас и Huston)

Я также могу создать новое datetime, когда я отправлю это электронное письмо, чтобы получить восточный часовой пояс ( DateTime timestamp = DateTime.Now; )

Мой вопрос:

Если пользователь находится в районе Техаса, как я могу преобразовать свое время с восточного на это время (на 1 час меньше)?

Я пробовал что-то вроде этого:

            //Convert timestamp to local time
            TimeSpan ts = TimeZone.CurrentTimeZone.GetUtcOffset(timestamp);
            timestamp.Add(ts);

            timestampString = timestamp.ToString();

Но это не сработало. Я также знаю, что эта строка недействительна:

timestamp.Hour = timestamp.Hour - 1;
10
задан Stanley Cup Phil 13 July 2011 в 16:30
поделиться