Как получить EST дату и время без изменения часового пояса машины и написания кода преобразования часового пояса?

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

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

1 ответ

Решение

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

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

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

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

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