Неверная дата - ошибка в строке «MM / YYYY» для преобразования даты - PullRequest
0 голосов
/ 03 мая 2018

Я пытаюсь преобразовать строку в дату, но получаю ошибку Invalid Date.

В качестве входных данных будет использоваться строка, содержащая один из следующих форматов данных:

  • YYYY только год
  • MM/YYYY месяц и год
  • DD/MM/YYYY полная дата

Ожидаемый вывод - тип Date, однако единственный формат, который я не могу преобразовать, это MM/YYYY один.

Как я могу решить этот конкретный случай? Спасибо.

1 Ответ

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

Я решил это, используя следующий код:

@Input() initialDate: any; //Either "YYYY", "MM/YYYY" or "DD/MM/YYYY"
@Input() mask: string = 'text' //Either "full", "month" or "year";

ngOnInit() {
  // Handle initialDate value
  this.setInitialDate();
}

private setInitialDate() {
  if (this.initialDate) {
    switch (this.mask) {
      case 'full':
        this.day = this.initialDate.getDate().toString();
        this.month = this.months[this.initialDate.getMonth()];
       this.year = this.initialDate.getFullYear().toString();  

      break;
    case 'month': 
      let monthYear = this.initialDate.split('/');
      if (monthYear.length == 2) {
        this.month = this.months[monthYear[0] - 1];
        this.year = monthYear[1];
      }

      break;
    case 'year': 
      this.year = this.initialDate;

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