Как получить 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
,