2011-11-28 34 views
0

這裏減去六個月的時間我想Flex的增加,從現在

 public static const millisecondsPerDay:int = 1000 * 60 * 60 * 24 
     var sixMonthsInMilis:int = 182 * millisecondsPerDay; 
     var sixMonthsInTheFuture:Date = new Date(); 
     sixMonthsInTheFuture.setTime(sixMonthsInTheFuture.getTime() + sixMonthsInMilis); 
     var sixMonthsInThePast:Date = new Date(); 
     sixMonthsInThePast.setTime(sixMonthsInThePast.getTime() - sixMonthsInMilis); 

代碼那個那意思是,在過去是未來的幾天外,其他幾天過去。與我之後的6個月相差甚遠

任何想法?

回答

2
var today:Date = new Date(); 
today.setMonth(today.getMonth() + 6); 
var sixMonthsInTheFuture:Date = today; 
var anotherToday:Date = new Date(); 
anotherToday.setMonth(anotherToday.getMonth() - 6); 
var sixMonthsInThePast:Date = anotherToday; 

trace(sixMonthsInTheFuture); 
trace(sixMonthsInThePast); 

對於我來說,這將返回

週一5月28日14時03分32秒GMT + 0530 2012
週六5月28日14時03分32秒GMT + 0530 2011

這似乎夠公平吧?

+0

對於今天而不是現在使用+1 – tubaguy50035

0

嗯...... VAR

var now:Date = new Date(); 
now.setMonth(now.getMonth() + 6); 
var sixMonthsInTheFuture:Date = now; 
var now:Date = new Date(); 
now.setMonth(now.getMonth() - 6); 
var sixMonthsInThePast:Date = now; 

不知道這是否會工作100%,因爲我不知道Flex是否確實日期四溢,(像,會九月+ 6一月明年? ),有些語言可以。試試看

顯然setMonth還需要第二個參數Day,它是1到31之間的天數,所以更多的ifs來檢查日期,如果它比新月份的最大日期等,但是這個的總體思路是