Причина в том, что я читал где-то в статье, что когда вы меняете currentculture, система будет вести себя таким образом, поэтому DateTime.Now также должен давать мне дату в EST.Пожалуйста, поправьте меня, если я ошибаюсь.
Хорошо, я исправлю вас.Вы ошибаетесь (извините).
DateTime.Now
всегда возвращает местное время на основе настройки часового пояса операционной системы.На это не влияют изменения CurrentCulture
.Изменение текущей культуры может повлиять на формат отображения и систему календаря, используемую при создании строки из DateTime
, но не влияет на сам DateTime
и, следовательно, также не влияет на часовой пояс.
В общем, культурные или региональные настройки ортогональны часовым поясам.Например, если я англоязычный американец, временно посещающий Японию, моя культура, вероятно, будет en-US
, а мой часовой пояс, вероятно, будет Tokyo Standard Time
.