Преобразовать объект в дату, когда он начинается с 1 - PullRequest
1 голос
/ 08 июня 2019

Я добавил компонент 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());

1 Ответ

1 голос
/ 08 июня 2019

Я бы порекомендовал использовать moment.js, если ваши дела с датами будут включать какие-либо вычисления или форматирование даты и т. Д.

Сначала вам нужно установить момент.

npm install moment --save

Простоимпортировать в компонент, где вам это нужно.

import * as moment from 'moment';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...