Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 2082|Ответ: 0

[Источник] Разница между DateTime и DateTimeOffset в .NET/C#

[Скопировать ссылку]
Опубликовано 06.06.2024 10:05:15 | | |
DateTime и DateTimeOffset — это два типа дат и времени в .NET Framework.

DateTime:D ateTime — это структура, представляющая дату и время. Он содержит информацию, такую как год, месяц, день, час, минута, секунда и миллисекунда. Значение типа DateTime основано на локальном часовом поясе, то есть он представляет дату и время относительно местного часового пояса. Тип DateTime подходит для сценариев, когда часовые пояса не требуют учёта, например, для фиксации времени произошедшего события.

DateTimeOffset:D ateTimeOffset — это также структура, представляющая даты и время. Помимо информации, такой как год, месяц, день, час, минута, секунда и миллисекунды, он также содержит смещение, отражающее смещение относительно координированного универсального времени (UTC). Тип DateTimeOffset подходит для сценариев, когда необходимо учитывать часовые пояса, таких как расчёт и хранение времени между часовыми поясами.

Отличать:

  • Значение типа DateTime основано на локальном часовом поясе, а значение типа DateTimeOffset — на UTC и смещении.
  • Тип DateTime не точно отображает время между часовыми поясами, тогда как тип DateTimeOffset может точно отражать время между часовыми поясами.
  • Тип DateTime может зависеть от изменений в локальном часовом поясе при расчёте времени, тогда как тип DateTimeOffset не подвержен изменениям локального часового пояса.


На практике выбирайте, использовать ли DateTime или DateTimeOffset в зависимости от конкретных потребностей. Если нужно учитывать часовые пояса, особенно расчёт и хранение времени между ними, рекомендуется тип DateTimeOffset.

Ссылка на DateTime:Вход по гиперссылке виден.
Ссылка на DateTimeOffset:Вход по гиперссылке виден.





Предыдущий:ASP.NET Core 8 использует IExceptionHandler для глобальной обработки исключений
Следующий:.NET/C#, чтобы узнать начало и окончание дня
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com