使用 Moment.JS 添加天数

Adding Days using Moment.JS

在使用 moment.js

的 Appcelerator 项目中简单地将一天添加到几个日期时遇到一些问题

我只想获取今天的日期,然后以 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

我做错了什么?

西蒙

你指的是同一个变量

您将 N 天添加到 todayDate,因此下一个 add-方法将在今天日期已经增加的值上添加 N 天,不再是 'today'

您将天数添加到同一个变量:

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");