2010-03-26 3 views

ответ

5

Является ли Flex не основанным на ECMA (в основном javascript), если да, попробуйте добавить 86400000 миллисекунд к объекту даты? Что-то вроде:

var mili = 1000; 
var secs = 60; 
var mins = 60; 
var hours = 24; 
var day = hours * mins * secs * mili; 
var tomorrow = new Date(); 
var tomorrow.setTime(tomorrow.getTime() + day); 
+4

хороший .. это работает .. но это также работает tommorow.date = tommorow.date +1 автоматически изменить год и месяц, если он дойдет до конца каждого месяца – Treby

+0

Это это мило. Добавил бы 24 часа к дате, не так ли? – Anthony

+0

yah это работает .. что я проверил ваш ответ .. – Treby

3

Дата арифметика Завтра предложенная @Treby может быть использует этот путь, используя Дата (год, месяц, день) Конструктор:

var now:Date = Date(); 
var currentDate = now.date; 
var currentMonth = now.month; 
var currentYear = now.fullYear; 


var tomorrow:Date = new Date(currentYear, currentMonth, currentDate + 1); 
var lastWeek:Date = new Date(currentYear, currentMonth, currentDate - 7); 
var lastMonth:Date = new Date(currentYear, currentMonth-1, currentDate); 

т.д.

1

или если вы после модного решения вы можете использовать библиотеку Flex Date Utils http://flexdateutils.riaforge.org/, которая имеет множество полезных операций

2

Я взял эту вспомогательную функцию от this blog post, но это всего лишь фрагмент.

Использование прост:

dateAdd("date", +2); //now plus 2 days 

затем

static public function dateAdd(datepart:String = "", number:Number = 0, date:Date = null):Date 
{ 
    if (date == null) { 
     date = new Date(); 
    } 

    var returnDate:Date = new Date(date.time);; 

    switch (datepart.toLowerCase()) { 
     case "fullyear": 
     case "month": 
     case "date": 
     case "hours": 
     case "minutes": 
     case "seconds": 
     case "milliseconds": 
      returnDate[datepart] += number; 
      break; 
     default: 
      /* Unknown date part, do nothing. */ 
      break; 
    } 
    return returnDate; 
} 
3

Использование:

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

Как это считает летние timechange дни, когда дни есть 23h или 25h.

Приветствия

Смежные вопросы