2016-08-26 5 views
1

Я пытаюсь получить дату щелкнутого дня в календаре с помощью функции dayClick, я использовал это для получения даты в качестве объекта:Fullcalendar dayClick вернуть неверную дату

console.log(date.year()); 
console.log(date.month()); 
console.log(date.day()); 
var startDate = new Date(date.year(), date.month(), date.day(), 0, 0, 0); 

так в этом примере я нажал на August 6 2016, но на выходе я получаю:

2016 - 7 - 6 

, но должно быть:

2016 - 8 - 6 

что не так?

ответ

1

Объекты объекта JS Date и момента.js возвращают номер месяца, начиная с нуля, а не один.

Так январь 0 и декабрь 11.

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

Если вас не устраивает, просто использовать это, чтобы преобразовать в JS Дата объекта:

date.toDate(); 

Это работает потому, что дата является объектом moment.js.

+0

хорошо в течение месяца, но в течение дня? Как я могу получить номер дня? – Tekken

+0

date.toDate() возвращает полный объект Date с годом, месяцем и днем, вам не нужно его строить, используя шесть аргументов, как вы сейчас делаете. – K48

Смежные вопросы