You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by jm...@apache.org on 2013/05/09 07:56:59 UTC
[2/5] git commit: [flex-sdk] [refs/heads/develop] - FLEX-12749
Changed date maths to use real days so it works across daylight saving
boundaries
FLEX-12749 Changed date maths to use real days so it works across daylight saving boundaries
Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/9cd95538
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/9cd95538
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/9cd95538
Branch: refs/heads/develop
Commit: 9cd95538e563c8d34a837fd9ac37dec5b3252d58
Parents: fe78d41
Author: Justin Mclean <jm...@apache.org>
Authored: Thu May 9 11:27:19 2013 +1000
Committer: Justin Mclean <jm...@apache.org>
Committed: Thu May 9 11:27:19 2013 +1000
----------------------------------------------------------------------
.../projects/mx/src/mx/controls/CalendarLayout.as | 21 +++++++--------
1 files changed, 10 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/9cd95538/frameworks/projects/mx/src/mx/controls/CalendarLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/mx/src/mx/controls/CalendarLayout.as b/frameworks/projects/mx/src/mx/controls/CalendarLayout.as
index 138b4c7..04676e4 100644
--- a/frameworks/projects/mx/src/mx/controls/CalendarLayout.as
+++ b/frameworks/projects/mx/src/mx/controls/CalendarLayout.as
@@ -941,12 +941,12 @@ public class CalendarLayout extends UIComponent
if (dayOffset < 0)
dayOffset += 7;
- tempDate = incrementDate(tempDate,dayOffset)
+ tempDate = addSubtractDays(tempDate, dayOffset);
while (tempDate < maxDate)
{
- removeRangeFromSelection(tempDate,tempDate);
- tempDate = incrementDate(tempDate,7)
+ removeRangeFromSelection(tempDate, tempDate);
+ tempDate = addSubtractDays(tempDate, 7);
}
}
}
@@ -1969,12 +1969,11 @@ public class CalendarLayout extends UIComponent
* Increments/decrements a date by 'No. of days'
* specified by amount and returns the new date.
*/
- mx_internal function incrementDate(value:Date, amount:int = 1):Date
+ mx_internal function addSubtractDays(value:Date, amount:int):Date
{
var newDate:Date = new Date(value);
- var time:Number = newDate.getTime();
- newDate.setTime(time + amount * 86400000);
- return newDate;
+
+ return new Date(newDate.fullYear, newDate.month, newDate.date + amount);
}
/**
@@ -2021,7 +2020,7 @@ public class CalendarLayout extends UIComponent
{
if (endDate < rangeEnd)
{
- _selectedRanges[n].rangeStart = incrementDate(endDate);
+ _selectedRanges[n].rangeStart = addSubtractDays(endDate, 1);
}
else
{
@@ -2037,18 +2036,18 @@ public class CalendarLayout extends UIComponent
{
var temp:Date = _selectedRanges[n].rangeEnd;
- _selectedRanges[n].rangeEnd = incrementDate(startDate, -1);
+ _selectedRanges[n].rangeEnd = addSubtractDays(startDate, -1);
_selectedRanges[selectedRangeCount] = {};
_selectedRanges[selectedRangeCount].rangeStart =
- incrementDate(endDate);
+ addSubtractDays(endDate, 1);
_selectedRanges[selectedRangeCount].rangeEnd = temp;
selectedRangeCount += 1;
}
else
{
- _selectedRanges[n].rangeEnd = incrementDate(startDate, -1);
+ _selectedRanges[n].rangeEnd = addSubtractDays(startDate, -1);
}
}
}