2015-03-31 57 views
9

有几个问题与单纯在Appcelerator的项目中使用moment.js使用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 

我是什么做错了?

西蒙

回答

16

您加入天同一个变量:

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

不,你不是,白痴是那些谁不问问题,相信他们在做什么错;) – 2015-03-31 13:24:07

2

你指的是同一个变量

你N天添加到todayDate,所以下次add - 方法将N天增加至今天今天的日期的已增加价值,而不再” “