Не получается точное время от UniversalDateTime

Я отправляю vcal по почте в веб-приложении с конвертированием datetime в универсальное datetime. Если я запускаю веб-приложение локально (локальный sevser в Индии), я получаю правильное время в своем vcal. Но запустить приложение в прямом эфире (сервер в США), а затем не получить точное время с разницей в полтора часа. Пожалуйста, предложите мне.

код:

Dim result As StringBuilder = New StringBuilder()
        result.AppendFormat("BEGIN:VCALENDAR{0}", System.Environment.NewLine)
        result.AppendFormat("BEGIN:VEVENT{0}", System.Environment.NewLine)
        result.AppendFormat("SUMMARY:{0}{1}", subject, System.Environment.NewLine)
        result.AppendFormat("LOCATION:{0}{1}", location, System.Environment.NewLine)
        result.AppendFormat("DTSTART:{0}{1}", startDate.ToUniversalTime().ToString("yyyyMMdd\THHmmss\Z"), System.Environment.NewLine)
        result.AppendFormat("DTEND:{0}{1}", endDate.ToUniversalTime().ToString("yyyyMMdd\THHmmss\Z"), System.Environment.NewLine)
        result.AppendFormat("DTSTAMP:{0}{1}", DateTime.Now.ToUniversalTime().ToString("yyyyMMdd\THHmmss\Z"), System.Environment.NewLine)
        result.AppendFormat("DESCRIPTION:{0}{1}", description, System.Environment.NewLine)
        result.AppendFormat("END:VEVENT{0}", System.Environment.NewLine)
        result.AppendFormat("END:VCALENDAR{0}", System.Environment.NewLine)
        Return result.ToString()

1 ответ

Решение

Поскольку IST (стандартное индийское время) в UTC+5:30, а американские часовые пояса в UTC-4 (восточный) - UTC-7 (тихоокеанский), вы можете оказаться на полутора часах (на самом деле десять и полчаса, но без учета am/pm), если сервер работает в центральное летнее время (CDT).

Я нашел vcalendar на http://www.vcalendar.org/, который быстро перенаправляет вас. Похоже, это приложение PHP. И, глядя на руководство по PHP, выясняется, что формат H - 24-часовой формат; но он требует одного H, а не двойного H. PDF для документации на vcalendar.org - это AWOL (404 - за исключением того, что он перенаправляет вас на более полезную страницу, чем просто 404, но его по-прежнему нет!).

Предложение: определите, в каком часовом поясе работает ваш сервер в США (есть 4 основных и несколько вспомогательных). Проверьте, правдоподобна ли гипотеза "1,5 часа = 10,5 часов по модулю 12". И внимательно посмотрите на форматы даты / времени и значение "ЧЧ".

Другие вопросы по тегам