在flex中,我试图做日期推演和加法,但找不到一种方法。
例如: public var dateNow:Date=new Date();
如何获取比dateNow早3个月的日期?
谢谢!
发布于 2010-06-24 08:18:53
为此,您可以使用Date构造函数。Date的构造函数的第一个参数要么是年份,要么是时间戳。可以使用Date.time属性从date对象中获取时间戳。一旦你有了时间戳,你就可以从时间戳中加减一些秒数,然后将它传递给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的值。
发布于 2010-06-24 08:12:43
尝试使用DateUtils开源库。
我在Flextras日历中广泛使用它,它工作得很好。我非常确定有一个DateAdd方法。要获得早于3个月的日期,只需添加负3即可。
http://flexdateutils.riaforge.org/
发布于 2010-06-24 08:09:02
我不相信有内置的日期算法。甚至official adobe documentation for the Date class在使用它时也会从头开始创建日期数学。
看看上面的链接。本文档创建了一个DateMath类,其中包含静态方法,用于执行您想要的操作。考虑到这一点,我不确定他们为什么不让它成为标准的一部分,但这就是它的方式。我建议从那里复制并扩展它。
https://stackoverflow.com/questions/3106387
复制相似问题