2015-03-31 88 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天增加至今天今天的日期的已增加價值,而不再」 「