Здравствуйте. Использую datapicker с angular material. Вот код:
<td [formGroup]="item">
<div class="input-group">
<div class="input-group-addon">
<mat-datepicker-toggle mdSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</div>
<input class="form-control" [matDatepicker]="picker" placeholder="Date" formControlName="date">
</div>
</td>
Datapicker находится в форме которая при отправке отправляет его значение на сервер. Но проблема в том что значения передается за прошлый день. К примеру, я выбрал 1/18/2018, но отправило на сервер 2018-01-17T22:00:00.000Z. Странно то, что angular pipe для date конвертит дату правильно, но перед тем как вывести, у меня на сервере есть запрос на группирование по месяцу и первый день нового месяца подпадает в последний день предыдущего. Может кто-то стыкался с такой проблемой. Спасибо.
К примеру, я выбрал 1/18/2018, но отправило на сервер 2018-01-17T22:00:00.000Z.
Дата и время передается в формате UTC. Это значит что сервер должен воспринимать ее именно так, в формате UTC (время по Лондону). Нельзя из строки вычленять только дату и не смотреть на время. Надо рассматривать строку целиком. Это стандартный способ серилизации даты и времени в js, который избавляет от многих проблем, связанных с часовыми поясами.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости