Получить "День" выбранной даты в ngb-datepicker (ng Bootstrap) в угловом приложении

Демонстрация: https://stackblitz.com/edit/angular-bife8z-px13fl?file=app%2Fdatepicker-basic.html

Я добавил день (воскресенье) в качестве статического текста, и я хочу, чтобы это изменилось в соответствии с календарем выбора даты.

2 ответа

Решение

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

weekDays = {
  1: 'Monday',
  2: 'Tuesday',
  3: 'Wednesday',
  4: 'Thursday',
  5: 'Friday',
  6: 'Satarday',
  7: 'Sunday'
}

Selected Date is: <b>{{weekDays[calendar.getWeekday(model)]}}

https://stackblitz.com/edit/angular-bife8z-bftzuu?file=app%2Fdatepicker-basic.html

Infact вы можете иметь переменную для дня, который устанавливается в установщике model переменная.

  selectedDay: string = '';
  set model(val) {
    this._model = val;
    this.selectedDay = this.weekDays[this.calendar.getWeekday(this.model)]
  }

  get model() {
    return this._model;
  }

 Selected Date is: <b>{{selectedDay}}</b> <br>

Попробуй это:

компонент html

Selected Date is: <b>{{getDay(model)}}</b>

компонент тс

  getDay(model){
    let date = new Date(Date.UTC(model.year, model.month - 1, model.day, 0, 0, 0))
    let days = new Array( "Monday", "Tuesday", "Wednesday", "Thursday",  "Friday", "Saturday", "Sunday" );
    let day = days[date.getDay() - 1]
    return day
  }
Другие вопросы по тегам