Определить часовой пояс в системе - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Добрый день. В общем первый вопрос: Как узнать какой часовой пояс, установленный на компьютере, на котором выполняется программа? Знаю что существует класс

TimeZone

и

TimeZoneInfo

, но как его правильно использовать я так и не понял. А инфа на MSDN просто жуть какая..... В общем на форме у меня есть DGV, которая грузит данные с интернета. В этих данных есть расписание занятий с указанным временем начала. Допустим, 21:30 (это по UTC +03:00). Время это указано как строковый тип данных (String). Мне нужно сделать так, что бы программа при запуске определяла установленный на компьютере часовой пояс (допустим это будет UTC +05:00), вычисляла разницу в часах между UTC +3:00 и прибавила (или на оборот убавила) эту разницу в DGV. т.е. в нашем случае должно получится не 21:30 а 23:30 Ну как-то так. Третий день пытаюсь все это реализовать но пока без результатно. По этому обращаюсь к вам. Даже если я смогу найти разницу между часовыми поясами, то как я смогу прибавить или убавить ее, если в DGV время приходит как строка? Его можно будет перевести в дату? Заранее благодарю

Решение задачи: «Определить часовой пояс в системе»

textual
Листинг программы
Dim lessonTime = "21:30" ' Время урока полученное из интернета
Dim lessonTimeUtcOffset = TimeSpan.FromHours(3) ' Часовой пояс для даты урока
' Формируем дату занятия в исходном часовом поясе
Dim now = DateTime.Now
Dim lessonDTO As New DateTimeOffset(now.Year, now.Month, now.Day, 0, 0, 0, lessonTimeUtcOffset)
lessonDTO += TimeSpan.ParseExact(lessonTime, "g", CultureInfo.GetCultureInfo("ru-RU"))
' Формируем дату занятия в локальном часовом поясе
lessonDTO = New DateTimeOffset(lessonDTO.UtcDateTime, DateTimeOffset.Now.Offset)
 
' Получаем DateTime из DateTimeOffset
' Это делать необязательно т.к. можно работать с DateTimeOffset
' Dim lessonDate As DateTime = lessonDTO.DateTime

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы