Skip to content

Commit

Permalink
Merge pull request #17 from GateGuru/bugfix/16-fix-off-by-one-date-er…
Browse files Browse the repository at this point in the history
…rors

Fixes off by one date errors from March 11, 2013
  • Loading branch information
kovpas committed Jan 15, 2013
2 parents 34deda2 + 04dfd1f commit 98802aa
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 6 deletions.
2 changes: 1 addition & 1 deletion PMCalendar/src/NSDate+Helpers.m
Expand Up @@ -96,7 +96,7 @@ - (NSString *) dateStringWithFormat:(NSString *) format

- (NSInteger) daysSinceDate:(NSDate *) date
{
return [self timeIntervalSinceDate:date] / (60 * 60 * 24);
return round([self timeIntervalSinceDate:date] / (60 * 60 * 24));
}

- (BOOL) isBefore:(NSDate *) date
Expand Down
8 changes: 4 additions & 4 deletions PMCalendar/src/PMCalendarView.m
Expand Up @@ -421,7 +421,7 @@ - (NSInteger) indexForDate: (NSDate *)date
NSInteger monthStartDay = [monthStartDate weekday];
monthStartDay = (monthStartDay + (self.mondayFirstDayOfWeek?5:6)) % 7;

NSInteger daysSinceMonthStart = [date timeIntervalSinceDate:monthStartDate] / (60 * 60 *24);
NSInteger daysSinceMonthStart = [date daysSinceDate:monthStartDate];
return daysSinceMonthStart + monthStartDay;
}

Expand Down Expand Up @@ -730,10 +730,10 @@ - (void)drawRect:(CGRect)rect
//Find number of days in previous month
NSDate *prevDateOnFirst = [[_currentDate dateByAddingMonths:-1] monthStartDate];
int numDaysInPrevMonth = [prevDateOnFirst numberOfDaysInMonth];
NSDate *firstDateInCal = [monthStartDate dateByAddingDays:(-weekdayOfFirst + 2)];
NSDate *firstDateInCal = [monthStartDate dateByAddingDays:(-weekdayOfFirst + 1)];

int selectionStartIndex = [[self.selectedPeriod normalizedPeriod].startDate daysSinceDate:firstDateInCal] + 1;
int selectionEndIndex = [[self.selectedPeriod normalizedPeriod].endDate daysSinceDate:firstDateInCal] + 1;
int selectionStartIndex = [[self.selectedPeriod normalizedPeriod].startDate daysSinceDate:firstDateInCal];
int selectionEndIndex = [[self.selectedPeriod normalizedPeriod].endDate daysSinceDate:firstDateInCal];
NSDictionary *todayBGDict = [[PMThemeEngine sharedInstance] themeDictForType:PMThemeCalendarDigitsTodayElementType
subtype:PMThemeBackgroundSubtype];
NSDictionary *todaySelectedBGDict = [[PMThemeEngine sharedInstance] themeDictForType:PMThemeCalendarDigitsTodaySelectedElementType
Expand Down
2 changes: 1 addition & 1 deletion PMCalendar/src/PMPeriod.m
Expand Up @@ -48,7 +48,7 @@ - (BOOL) isEqual:(id) object

- (NSInteger) lengthInDays
{
return [self.endDate timeIntervalSinceDate:self.startDate] / (60 * 60 * 24);
return [self.endDate daysSinceDate:self.startDate];
}

- (NSString *) description
Expand Down

0 comments on commit 98802aa

Please sign in to comment.