我们有一个应用程序,用户必须在当前日期(用户使用该应用程序的日期)之后输入一个值不超过30天的日期。这是一个Flash应用程序,因此我需要一种方法将30天添加到当前日期,并获得正确的日期。像JavaScript中的东西:
myDate.setDate(myDate.getDate()+30);
或者在C#中:
DateTime.Now.Add(30);
ActionScript中有这样的东西吗?
答案 0 :(得分:27)
虽然其他答案肯定会有效,但这样做很简单:
var dte:Date = new Date();
dte.date += 30;
//the date property is the day of the month, so on Sept. 15 2009 it will be 15
如果需要,这甚至会增加月份和年份。您也可以使用月份和年份属性来执行此操作。
答案 1 :(得分:5)
我建议你看一下:How can you save time by using the built in Date class?。
它应该是这样的:
var date:Date = new Date();
date.setDate(date.date + 30);
答案 2 :(得分:3)
我的TimeSpan class可能在这里证明是有用的(它是.NET System.TimeSpan的一个端口):
var now : Date = new Date();
var threeDaysTime : Date = TimeSpan.fromDays(3).add(now);
答案 3 :(得分:2)
@Zerata
如果日期跨越日光节约更改,则直接添加毫秒将无效...
但是,您可以直接添加秒数:
var date:Date = new Date(); date.seconds + = 86400; =>即使日期跨越DLS更改,这也有效。
莫里斯
答案 4 :(得分:1)
我正在编写代码,而不是编译它,但我会使用getTime()。类似的东西:
var today : Date = new Date();
var futureDate : Date = new Date();
futureDate.setTime(today.getTime() + (1000 * 60 * 60 * 24 * 30));
1000 * 60 * 60 * 24 * 30 =毫秒*秒*分钟*小时*天
有道理吗?