Невозможно установить дату в средстве выбора даты Angular

У меня есть дата, которая извлекается из формата 30-10-2019 (DD-MM-YYYY). Я пытаюсь отобразить эту дату в средстве выбора даты углового материала, но она не отображает дату.

Я попробовал момент и использовал момент (this.myDate).format('YYYY-MM-DD').toString(); Что мне не хватает? Любой другой метод (без использования момента) также подойдет.


person Yogesh Mali    schedule 30.10.2019    source источник
comment
Добро пожаловать в СО. Предоставьте код, который вы пробовали с помощью minimal-reproducible-example   -  person Allabakash    schedule 30.10.2019
comment
Я пробовал момент(this.myDate).format('ГГГГ-ММ-ДД').toString();   -  person Yogesh Mali    schedule 30.10.2019
comment
Это то, что вы имеете в виду? stackblitz.com/angular/aqegoygyadb   -  person paul    schedule 30.10.2019
comment
Эй, Пол, да, но я не могу заставить его отображаться в средстве выбора даты, используя угловую привязку. У меня есть дата в формате ДД-ММ-ГГГГ, и мне нужно отобразить ее в средстве выбора даты. Если у меня есть дата 30 октября 2019 г., 20:44:26 по Гринвичу + 0530 (стандартное время Индии), она отображается, а не 30-10-2019.   -  person Yogesh Mali    schedule 30.10.2019


Ответы (2)


попробуй это

this.date = new Date(this.myDate);
person Shankarlal D    schedule 02.11.2019

вам нужно передать формат даты в момент, как показано ниже, и назначить его вашему formControl или ngModel. Предполагая, что ваша ngModel является датой, тогда код будет

this.date = moment(this.myDate, 'DD-MM-YYYY');

Вот рабочий пример: https://stackblitz.com/edit/angular-w9szcc.

Надеюсь это поможет.

person Allabakash    schedule 30.10.2019
comment
Привет, Аллабакаш, спасибо за помощь. Я сделал это.startDate = moment(data.startDate, 'ДД-ММ-ГГГГ').toISOString(); и это сработало, но отображало дату в формате ММ/ДД/ГГГ. - person Yogesh Mali; 30.10.2019
comment
В прикрепленной ссылке на код есть конфигурация с именем MY_FORMATS, просто измените формат dateInput внутри объекта display на формат, который вы хотели видеть. - person Allabakash; 30.10.2019
comment
Извините, но это не сработало, формат правильный, хотя я пытался изменить его, но это не сработало. - person Yogesh Mali; 30.10.2019
comment
вы изменили MY_FORMATS? В кодовой ссылке stackblitz.com/edit/angular-w9szcc. Формат даты отображается только как ДД-ММ-ГГГГ. Какой формат вы ожидаете? - person Allabakash; 30.10.2019
comment
Я ожидаю ДД-ММ-ГГГГ. MY_FORMATS имеет формат DD-MM-YYYY, поэтому я не думаю, что мне нужно его менять. Вот что у меня есть: - person Yogesh Mali; 30.10.2019
comment
export const MY_FORMATS = { parse: { dateInput: 'DD-MM-YYYY', }, display: { dateInput: 'DD-MM-YYYY', monthYearLabel: 'DD-MM-YYYY', dateA11yLabel: 'LL', monthYearA11yLabel : 'ММММ ГГГГ', }, }; this.startDate = момент (rowData.data.startDate, 'ДД-ММ-ГГГГ').toISOString(); и я пробовал и без .toISOString(). - person Yogesh Mali; 30.10.2019