У меня есть куча дат, которые я отслеживаю для своего приложения. Они все в UTC времени. Для части моего приложения я хочу отправить электронное письмо с одним из этих времен, но отредактировано так, чтобы оно находилось в этом конкретном часовом поясе.
Есть только две основные области, с которыми я буду иметь дело: восточное побережье и Техас (Даллас и Хьюстон)
Я также могу указать новое время и дату, когда отправлю это электронное письмо, чтобы получить восточный часовой пояс (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;