以下是我正在尝试的代码
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个月相差甚远
任何想法?
答案 0 :(得分: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);
对我来说,这会返回
Mon May 28 14:03:32 GMT + 0530 2012
5月28日星期六14:03:32 GMT + 0530 2011
这看起来很公平,对吧?
答案 1 :(得分: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是否会出现日期溢出,(比如,9月+ 6会是明年的1月吗?),有些语言会这样做。试一试
显然setMonth还需要第二个参数,Day,即1到31之间的日期,所以更多的ifs来检查日期,如果它超过新月的最大日等,但这是一般的想法