Я пытаюсь обновить какой-то ранее существовавший код, который использует компонент VTIMEZONE 4.6.5 Time Zone, чтобы создать запрос на собрание на основе ввода от пользователя в форме на веб-сайте asp.net. Обновление, которое я делаю, - это удаление статического списка часовых поясов, которые были перечислены как перечисление, и заменили их на метод TimeZoneInfo GetSystemTimeZones. Проблема в том, что способ установки VTIMEZONE имеет статические значения. Мне интересно, как лучше подойти к этому и будет приветствовать любые предложения.
Вот фрагмент кода:
private const string vTimeZoneTemplate = @"
BEGIN:VTIMEZONE
TZID:Pacific
BEGIN:STANDARD
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
TZNAME:PST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
TZNAME:PDT
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Eastern
BEGIN:STANDARD
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
END:DAYLIGHT
END:VTIMEZONE";
Конечная цель состоит в том, чтобы иметь время начала запроса на встречу, установленного для выбранного часового пояса. т. е. я выбираю 2-часовую встречу в (UTC + 02: 00) в Стамбуле, начиная с 16:00, она будет создавать запрос на встречу с 16:00 до 18:00 в Стамбульское время, которое в настоящее время является стандартным временем Турции.
, если это помогает, я использую TimeZoneInfo как таковой:
if (!IsPostBack)
{
System.Collections.ObjectModel.ReadOnlyCollection<TimeZoneInfo> TimeZoneList = TimeZoneInfo.GetSystemTimeZones();
this.ddlTimezones.DataSource = TimeZoneList;
this.ddlTimezones.DataTextField = "DisplayName";
this.ddlTimezones.DataValueField = "Id";
this.ddlTimezones.DataBind();
}
Почему вы так говорите? – Mith
Потому что я не знаю, можете ли вы - никогда не делал это сам/выглядел достаточно глубоко. –