首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何做弹性日期的推导和加法

如何做弹性日期的推导和加法
EN

Stack Overflow用户
提问于 2010-06-24 07:54:31
回答 5查看 12.1K关注 0票数 8

在flex中,我试图做日期推演和加法,但找不到一种方法。

例如: public var dateNow:Date=new Date();

如何获取比dateNow早3个月的日期?

谢谢!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-06-24 08:18:53

为此,您可以使用Date构造函数。Date的构造函数的第一个参数要么是年份,要么是时间戳。可以使用Date.time属性从date对象中获取时间戳。一旦你有了时间戳,你就可以从时间戳中加减一些秒数,然后将它传递给new Date(timestamp),你就得到了一个代表新时间戳的全新日期。

编辑;正如一位评论者指出的那样,时间操纵可能不是最好的方式。但是您仍然可以使用Date构造函数,如下所示:

代码语言:javascript
复制
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的值。

票数 9
EN

Stack Overflow用户

发布于 2010-06-24 08:12:43

尝试使用DateUtils开源库。

我在Flextras日历中广泛使用它,它工作得很好。我非常确定有一个DateAdd方法。要获得早于3个月的日期,只需添加负3即可。

http://flexdateutils.riaforge.org/

票数 3
EN

Stack Overflow用户

发布于 2010-06-24 08:09:02

我不相信有内置的日期算法。甚至official adobe documentation for the Date class在使用它时也会从头开始创建日期数学。

看看上面的链接。本文档创建了一个DateMath类,其中包含静态方法,用于执行您想要的操作。考虑到这一点,我不确定他们为什么不让它成为标准的一部分,但这就是它的方式。我建议从那里复制并扩展它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3106387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档