Не удается отобразить точную дату с помощью angular datepipe

#angular

#angular

Вопрос:

Я использую angular 7. Когда я использую канал даты, он печатает следующую дату, пожалуйста, смотрите приведенный ниже код:

 <div style="text-align: left;width: 80px;white-space:nowrap"> 
  <strong> : {{project.projects_StartDate | date:"MM/dd/yyyy"}}</strong>
</div>
  

Примерное значение projects_StartDate равно 2019-03-11T18:30:00.000Z (это значение возвращается из API)

  • Ожидаемое поведение: должно отображаться 03/11/2019
  • Текущее поведение: отображается 03/12/2019

Пожалуйста, дайте мне знать, если кто-нибудь знает ответ.

Комментарии:

1. Привет, Santhosh, вчера вы задавали аналогичный вопрос на Javascript — причина та же — вам нужно понимать, что если время, возвращаемое API, равно UTC, то местное время вычисляется автоматически на основе настроек часового пояса системы. Просто убедитесь, что API правильно возвращает время в формате UTC

Ответ №1:

Дата / время преобразуется из UTC в местное время, и это может быть в другой день в зависимости от смещения, текущего локального datetime и отображаемого utc datetime. Если вы хотите отобразить дату UTC, тогда установите timezone в канале.

 {{project.projects_StartDate | date:"MM/dd/yyyy" : "UTC"}}
  

Смотрите также документацию по каналу даты и этот stackblitz.