10

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?

Lea Cohen
  • 7,990
  • 18
  • 73
  • 99

5 Answers5

28

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.

Ryan Guill
  • 13,558
  • 4
  • 37
  • 48
5

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);
Community
  • 1
  • 1
Jacob Poul Richardt
  • 3,145
  • 1
  • 26
  • 29
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);
Community
  • 1
  • 1
Richard Szalay
  • 83,269
  • 19
  • 178
  • 237
2

@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

Maurice
  • 21
  • 1
1

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?

Juan Delgado
  • 2,030
  • 15
  • 18