Я добавил компонент angular bootstrap datepicker
в свое приложение, и когда я выбираю дату, я получаю объект, который выглядит следующим образом: {year: 1993, month: 8, day: 9}
, и я хотел бы преобразовать его в Date
объект. Все идет довольно хорошо, но после преобразования в Date вся дата перемещается: 1993-09-08T22:00:00.000Z
. Знаете ли вы какие-нибудь хитрости, по которым преобразование даты будет иметь ту же дату?
Я уже исследовал, что проблема возникла из-за номера даты начала. В угловой загрузке он начинается с 1, но в объекте даты он начинается с 0.
HTML:
<div class="col-md-12 mb-3 form-group">
<label for="dateOfBirth">Data urodzenia</label>
<input class="form-control"
placeholder="yyyy-mm-dd" id="dateOfBirth"
formControlName="dateOfBirth"
name="dp"
ngbDatepicker
#d="ngbDatepicker"
(click)="d.toggle()"
[minDate]="fromDate"
[maxDate]="toDate">
<span class="input-group-addon">
<i class="glyphicon glyphicon-calendar"></i>
</span>
<ngb-alert [type]="'danger'"
[dismissible]="false"
class="form-alert"
*ngIf="envelopeCreationFrom.controls.dateOfBirth.touched &&
envelopeCreationFrom.controls.dateOfBirth.errors?.required">
Error
</ngb-alert>
</div>
Машинопись:
console.log(dateOfBirth);
console.log(new Date(dateOfBirth['year'], dateOfBirth['month'], dateOfBirth['day']));
console.log(new Date(dateOfBirth['year'], dateOfBirth['month'], dateOfBirth['day']).toISOString());
console.log(new Date(dateOfBirth['year'], dateOfBirth['month'], dateOfBirth['day']).toDateString());