Flex добавить и вычесть через шесть месяцев - PullRequest
0 голосов
/ 28 ноября 2011

Вот код, который я пытаюсь

        public static const millisecondsPerDay:int = 1000 * 60 * 60 * 24
        var sixMonthsInMilis:int = 182 * millisecondsPerDay;
        var sixMonthsInTheFuture:Date = new Date();
        sixMonthsInTheFuture.setTime(sixMonthsInTheFuture.getTime() + sixMonthsInMilis );
        var sixMonthsInThePast:Date = new Date();
        sixMonthsInThePast.setTime(sixMonthsInThePast.getTime() - sixMonthsInMilis);

То, что должно было быть в прошлом, - это несколько дней в будущем, а другое - несколько дней в прошлом. Я далек от тех 6 месяцев, что я после

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 28 ноября 2011
var today:Date = new Date();
today.setMonth(today.getMonth() + 6);
var sixMonthsInTheFuture:Date = today;
var anotherToday:Date = new Date();
anotherToday.setMonth(anotherToday.getMonth() - 6);
var sixMonthsInThePast:Date = anotherToday;

trace(sixMonthsInTheFuture);
trace(sixMonthsInThePast);

Для меня это возвращается

Пн 28 мая 14:03:32 GMT + 0530 2012
Сб 28 мая 14:03:32 GMT + 0530 2011

Что кажется достаточно справедливым, верно?

0 голосов
/ 28 ноября 2011

Гм ... var

var now:Date = new Date();
now.setMonth(now.getMonth() + 6);
var sixMonthsInTheFuture:Date = now;
var now:Date = new Date();
now.setMonth(now.getMonth() - 6);
var sixMonthsInThePast:Date = now;

Не уверен, что это сработает на 100%, так как я не уверен, переполнит ли дата Flex (например, сентябрь + 6 будет в январе следующего года?), некоторые языки делают.Попробуйте это

Очевидно, что setMonth также принимает второй параметр, Day, который является числом дня от 1 до 31, так что еще несколько ifs, чтобы проверить дату, и если это больше, чем самый большой день нового месяца и т. Д.,но это общая идея

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...