Предполагается, что ваша forecastedDate является фактической javascript датой или моментальным объектом.
Функция isSame также принимает параметр гранулярности.
Просто добавьте параметр 'week' в метод isSame, например, так:
if(this.conversation.payload.grain==="week" &&
moment().startOf("week").isSame(this.conversation.payload.forecastTime, "week"))
Чтобы получить день недели, легко сделать это с помощью библиотеки js.
Это даст вам день недели на основе локаль:
var dayOfWeek = moment(this.conversation.payload.forecastTime).weekday()
Например, если локаль использует понедельник в качестве первого дня недели, то 0 = понедельник и 6 = воскресенье. Помните, что полученное вами значение будет меняться в зависимости от текущей локали.
Если вы не хотите, чтобы значение менялось в зависимости от локали, но всегда хотите получать значение с понедельника по воскресенье, используйте isoWeekday () :
var dayOfWeek = moment(this.conversation.payload.forecastTime).isoWeekday()
Это даст вам целое число 1-7. 1 = понедельник, 7 = воскресенье.
Так, например, если приведенный выше код вернул 4, вы будете знать, что это четверг.
Для получения дополнительной информации о weekday (), isoWeekday и функции day (), проверьте moment js docs .