在flex中,我正在尝试进行日期演绎和添加,但无法找到方法。
例如为: public var dateNow:Date = new Date();
如何比dateNow早3个月获得日期?
感谢!!!
答案 0 :(得分:9)
您可以使用Date构造函数。 Date的构造函数的第一个参数需要一年或一个时间戳。您可以使用Date.time
属性从日期对象中获取时间戳。获得时间戳后,您可以在其中添加/减去一些秒数,然后将其传递给new Date(timestamp)
,您将得到一个代表新时间戳的全新日期。
编辑; 正如评论者指出的那样,时间操纵可能不是最好的方法。但您仍然可以使用Date构造函数,如下所示:
var now:Date = new Date();
var threeMonthsAgo = new Date(now.fullYear,
now.month - 3,
now.date,
now.hour,
now.minute,
now.second,
now.millisecond);
Date构造函数非常智能,可以处理负值或大于11的值。
答案 1 :(得分:3)
尝试使用DateUtils开源库。
我在Flextras日历中广泛使用它,效果很好。我很确定有一个DateAdd方法。要在3个月前获得日期,您只需添加负数3.
答案 2 :(得分:0)
我不相信有内置日期算术。使用它时,即使official adobe documentation for the Date class也会从头开始创建日期数学。
看一下上面的链接。该文档使用静态方法创建一个DateMath类来执行所需的操作。鉴于此,我不确定为什么他们没有制作是标准的一部分,但这就是它的方式。我建议从那里复制并扩展它。
答案 3 :(得分:0)
答案 4 :(得分:0)
使用此:
var dObj:Date = new Date();
DateField_Now.formatString = DateField_LastWeek.formatString = "YYYY-MM-DD";
DateField_Now.selectedDate = dObj;
dObj["date"] += 7;
DateField_LastWeek.selectedDate = dObj;