Add days to Date in ActionScript

2020-06-12 03:56发布

问题:

We have an application in which the user has to enter a date who's value is no more than 30 days after the the current date (the date on which the user uses the application). This is a Flash application, therefore I need a way to add 30 days to the current date, and get the right date. Something like in JavaScript:

myDate.setDate(myDate.getDate()+30);

Or in C#:

DateTime.Now.Add(30);

Is there such a thing in ActionScript?

回答1:

While the other answers will work im sure, it is as easy as doing:

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

This will even increment the month if necessary and year as well. You can do this with the month and year properties as well.



回答2:

I suggest that you look here: How can you save time by using the built in Date class?.

It should be something like this:

var date:Date = new Date();
date.setDate(date.date + 30);


回答3:

My TimeSpan class might prove useful here (it's a port of the .NET System.TimeSpan):

var now : Date = new Date();
var threeDaysTime : Date = TimeSpan.fromDays(3).add(now);


回答4:

@Zerata

Adding milliseconds directly will not work if dates are across day light saving change...

However, you can add seconds directly:

var date: Date = new Date(); date.seconds += 86400; => this works even if dates are across DLS change.

Maurice



回答5:

I'm writing the code from the top of my head, without compiling it, but I'd use getTime(). Something like:

var today : Date = new Date();
var futureDate : Date = new Date();
futureDate.setTime(today.getTime() + (1000 * 60 * 60 * 24 * 30));

1000 * 60 * 60 * 24 * 30 = milliseconds * seconds * minutes * hours * days

Makes sense?