Как локально определяется в ToLocalTime() - программирование
Подтвердить что ты не робот

Как локально определяется в ToLocalTime()

При использовании ToLocalTime(), как определяется местное время? Является ли местное время с сервера или клиента? Мое предположение было бы сервером, на котором запущено приложение.

4b9b3361

Ответ 1

Это локальный часовой пояс компьютера, на котором работает код. В приложении ASP.Net код запускается на сервере - так, чтобы часовой пояс был возвращен.

Поведение этой функции фактически зависит от свойства .Kind исходного значения. Из ссылка MSDN, которую вы указали:

  • Utc. Этот экземпляр DateTime преобразуется в локальное время.
  • Локальный. Преобразование не выполняется.
  • Unspecified. Этот экземпляр DateTime считается временем UTC, а преобразование выполняется так, как будто Kind были Utc.

Это неочевидное поведение. Вы можете прочитать другие связанные проблемы с классом .net DateTime здесь и .

Несколько других точек:

  • Если вы следуете лучшим практикам, вы установите часовой пояс сервера в формате UTC.
  • Если вы пытаетесь отобразить время в пользовательском часовом поясе, вам нужно будет использовать одну из этих стратегий.

Ответ 2

ToLocalTime(), в этом случае выполняется на сервере. Поэтому время оценивается на сервере, и оно возвращает серверное время клиенту.

Ответ 3

Это локальное время на сервере.

Ответ 4

Локальный - это часовой пояс машины, на который функция выполняет.