Как получить EST дату и время без изменения часового пояса машины и написания кода преобразования часового пояса? - PullRequest
0 голосов
/ 05 февраля 2019

Часовой пояс моей машины - IST, поэтому, когда я проверяю DateTime.Now в C #, он всегда показывает текущую дату и время этого часового пояса.Я должен получить дату и время в EST, когда я делаю DateTime.Now.Я не хочу менять часовой пояс машины и не хочу преобразовывать текущую дату / время в EST при написании кода преобразования времени, используя идентификатор часового пояса.

Причина в том, что я читал где-то в статье, что когда вы меняете текущую культуру системыбудет вести себя таким образом, поэтому DateTime.Now также должен дать мне дату в EST.Пожалуйста, поправьте меня, если я ошибаюсь.

1 Ответ

0 голосов
/ 05 февраля 2019

Причина в том, что я читал где-то в статье, что когда вы меняете currentculture, система будет вести себя таким образом, поэтому DateTime.Now также должен давать мне дату в EST.Пожалуйста, поправьте меня, если я ошибаюсь.

Хорошо, я исправлю вас.Вы ошибаетесь (извините).

DateTime.Now всегда возвращает местное время на основе настройки часового пояса операционной системы.На это не влияют изменения CurrentCulture.Изменение текущей культуры может повлиять на формат отображения и систему календаря, используемую при создании строки из DateTime, но не влияет на сам DateTime и, следовательно, также не влияет на часовой пояс.

В общем, культурные или региональные настройки ортогональны часовым поясам.Например, если я англоязычный американец, временно посещающий Японию, моя культура, вероятно, будет en-US, а мой часовой пояс, вероятно, будет Tokyo Standard Time.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...