Формат даты в формате JS - PullRequest
0 голосов
/ 15 мая 2018

У меня есть указатель даты в угловых 4, и я хотел бы получить дату начала и дату окончания, когда сделан выбор диапазона дат. Когда я делаю console.log(value), это показывает ответ:

{start: Moment, end: Moment}
    end:
    Moment
    _d : Thu Apr 19 2018 23:59:59 GMT-0500 (CDT) {}
    _i : (6) [2018, 2, 25, 12, 0, 0]
    _isAMomentObject : true
    _isUTC:false
    _isValid:true
    _locale: Locale {_calendar: {…}, _longDateFormat: {…}, _invalidDate: "Invalid date", ordinal: ƒ, _dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, …}
    _pf:{empty: false, unusedTokens: Array(0), unusedInput: Array(0), overflow: -1, charsLeftOver: 0, …}
    __proto__ :Object
    start: Moment
    _d: Mon Apr 09 2018 00:00:00 GMT-0500 (CDT) {}
    _i:(6) [2018, 2, 25, 12, 0, 0]
    _isAMomentObject: true
    _isUTC: false
    _isValid:true
    _locale: Locale {_calendar: {…}, _longDateFormat: {…}, _invalidDate: "Invalid date", ordinal: ƒ, _dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, …}
    _pf:
    {empty: false, unusedTokens: Array(0), unusedInput: Array(0), overflow: -1, charsLeftOver: 0, …}
    __proto__: Object

Затем я попытался использовать stringify и console.log(JSON.stringify(datepicker.start));, что дало мне такой результат: 2018-04-16T05: 00: 00.000Z

Итак, я попробовал это:

 const date = new Date(JSON.stringify(datepicker.start));
 const date_str = moment(date).format('DD.MM.YYYY');

    console.log(date_str);

И эта консоль отображается как недопустимая дата.

Как мне преобразовать это в обычную дату что-то вроде этого: '2018-05-01'?

1 Ответ

0 голосов
/ 15 мая 2018

Если вам нужен фактический объект даты JS, вы можете использовать _d свойство start/end как

datepicker.start._d
datepicker.end._d

Это вернет вам объект даты JS, и вам не нужно форматировать и передавать в конструктор Date и т. Д.

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