Не могу отформатировать с помощью moment.js - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь отформатировать массив дат, используя moment.js, но получаю сообщение об ошибке

dayOfWeek.format не является функцией

Я правильно импортирован

var startOfWeek = moment().startOf('isoWeek');
var endOfWeek = moment().endOf('isoWeek');

var days = [];
var day = startOfWeek;

while (day <= endOfWeek) {
    days.push(day.toDate());
    day = day.clone().add(1, 'd');
}




var week = days.map(function(dayOfWeek, i){
  console.log(dayOfWeek);
  dayOfWeek.format("dddd, DD-MM-YYYY")
});

Ответы [ 4 ]

0 голосов
/ 02 июля 2018

Просто совет, вы также можете сделать это

var currentDate = moment(new Date()); // pass your date obj here.
console.log(currentDate.format('DD-MM-YY HH:mm:ss')); // later simply do this.
<script src="https://unpkg.com/moment@2.22.2/min/moment.min.js"></script>
0 голосов
/ 02 июля 2018
dayOfWeek = moment(dayOfWeek).format("dddd, DD-MM-YYYY");
0 голосов
/ 02 июля 2018

Ваш код потерпит неудачу, потому что dayOfWeek не является moment объектом.

Чтобы проверить, является ли ваша переменная moment объект, используйте .isMoment:

moment.isMoment(dayOfWeek).

Чтобы исправить вашу проблему, просто замените

dayOfWeek.format("dddd, DD-MM-YYYY")

с

moment(dayOfWeek).format("dddd, DD-MM-YYYY")

Вам также не хватает оператора return внутри функции .map.

Рабочий пример:

var startOfWeek = moment().startOf('isoWeek');
var endOfWeek = moment().endOf('isoWeek');

var days = [];
var day = startOfWeek;

while (day <= endOfWeek) {
    days.push(day.toDate());
    day = day.clone().add(1, 'd');
}




var week = days.map(function(dayOfWeek, i){
  return moment(dayOfWeek).format("dddd, DD-MM-YYYY")
});

console.log(week);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
0 голосов
/ 02 июля 2018

moment().format() функция использование не правильно .

Ток:

dayOfWeek.format("dddd, DD-MM-YYYY")

Изменить на:

moment(dayOfWeek).format("dddd, DD-MM-YYYY")

Проверьте здесь для получения дополнительной информации: https://momentjs.com/docs/#/parsing/string-formats/

...