使用Moment.JS添加天数

Sim*_*ume 14 javascript date appcelerator titanium-mobile momentjs

在使用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");
Run Code Online (Sandbox Code Playgroud)

但是,我得到的输出如下:

[INFO] :   31
[INFO] :   01
[INFO] :   03
[INFO] :   06
[INFO] :   10
[INFO] :   15
[INFO] :   21
Run Code Online (Sandbox Code Playgroud)

它应该是:

[INFO] :   31
[INFO] :   01
[INFO] :   02
[INFO] :   03
[INFO] :   04
[INFO] :   05
[INFO] :   06
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

西蒙

Cyr*_* N. 24

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

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");
Run Code Online (Sandbox Code Playgroud)

或者只是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");
Run Code Online (Sandbox Code Playgroud)

  • 不,你不是,白痴是那些不问问题并相信他们没有做错的人;) (6认同)