Добавление дней с помощью Moment.JS

Возникли некоторые проблемы с простым добавлением дня к нескольким датам в проекте Appcelerator с использованием moment.js

Все, что я хочу сделать, это взять сегодняшнюю дату и затем отобразить ее в формате DD (01), а затем получить следующие 6 дней.

Вот что я пытаюсь:

var todayDate = moment();

var day1 = todayDate.format("DD");
var day2 = todayDate.add(1, 'days').format("DD");
var day3 = todayDate.add(2, 'days').format("DD");
var day4 = todayDate.add(3, 'days').format("DD");
var day5 = todayDate.add(4, 'days').format("DD");
var day6 = todayDate.add(5, 'days').format("DD");
var day7 = todayDate.add(6, 'days').format("DD");

Но я получаю следующий вывод:

[INFO] :   31
[INFO] :   01
[INFO] :   03
[INFO] :   06
[INFO] :   10
[INFO] :   15
[INFO] :   21

Следует читать:

[INFO] :   31
[INFO] :   01
[INFO] :   02
[INFO] :   03
[INFO] :   04
[INFO] :   05
[INFO] :   06

Что я делаю не так?

Саймон

12 голосов | спросил Simon Hume 31 MarpmTue, 31 Mar 2015 16:14:52 +03002015-03-31T16:14:52+03:0004 2015, 16:14:52

1 ответ


0

Вы добавляете дни к одной и той же переменной:

скажем, todayDate - 31. В первой строке вы добавляете 1 день к todayDate, поэтому он становится 01. Затем вы добавляете 2 дня к todayDate (теперь это "01"), чтобы он стал 03 и т. д ...

Сделайте это вместо этого (в зависимости от того, что вам нужно, конечно):

var day1 = moment().format("DD");
var day2 = moment().add(1, 'days').format("DD");
var day3 = moment().add(2, 'days').format("DD");
var day4 = moment().add(3, 'days').format("DD");
var day5 = moment().add(4, 'days').format("DD");
var day6 = moment().add(5, 'days').format("DD");
var day7 = moment().add(6, 'days').format("DD");

или просто добавляйте 1 каждый раз;)

var todayDate = moment();

var day1 = todayDate.format("DD");
var day2 = todayDate.add(1, 'days').format("DD");
var day3 = todayDate.add(1, 'days').format("DD");
var day4 = todayDate.add(1, 'days').format("DD");
var day5 = todayDate.add(1, 'days').format("DD");
var day6 = todayDate.add(1, 'days').format("DD");
var day7 = todayDate.add(1, 'days').format("DD");
ответил Cyril N. 31 MarpmTue, 31 Mar 2015 16:18:28 +03002015-03-31T16:18:28+03:0004 2015, 16:18:28

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132