Добавление дней к дате в ActionScript
У нас есть приложение, в котором пользователь должен ввести дату, значение которой не превышает 30 дней после текущей даты (даты, когда пользователь использует приложение). Это приложение Flash, поэтому мне нужно добавить 30 дней к текущей дате и получить правильную дату. Что-то вроде JavaScript:
myDate.setDate(myDate.getDate()+30);
Или в С#:
DateTime.Now.Add(30);
Есть ли такая вещь в ActionScript?
Ответы
Ответ 1
В то время как другие ответы будут работать уверенно, это так же просто:
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
Это даже увеличит месяц, если потребуется, и год. Вы можете сделать это с помощью свойств месяца и года.
Ответ 2
Я предлагаю вам посмотреть здесь: Как вы можете сэкономить время, используя встроенный класс Date?.
Это должно быть примерно так:
var date:Date = new Date();
date.setDate(date.date + 30);
Ответ 3
Мой класс TimeSpan может оказаться полезным здесь (это порт .NET System.TimeSpan):
var now : Date = new Date();
var threeDaysTime : Date = TimeSpan.fromDays(3).add(now);
Ответ 4
@Zeratap >
Добавление миллисекунд напрямую не будет работать, если даты не будут меняться в течение дня...
Однако вы можете добавить несколько секунд:
var date: Date = new Date(); date.seconds + = 86400; = > это работает, даже если даты происходят через изменение DLS.
Maurice
Ответ 5
Я пишу код из верхней части головы, не компилируя его, но я бы использовал 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 = миллисекунды * секунды * минуты * часы * дни
Имеет смысл?