This commit is contained in:
Ludovic Marcotte 2015-12-30 08:57:08 -05:00
commit fd0f1499b1
2 changed files with 21 additions and 4 deletions

6
NEWS
View file

@ -1,3 +1,9 @@
2.3.5 (2016-MM-DD)
------------------
Bug fixes
- properly compute the last week number for the year (#1010)
2.3.4 (2015-12-15)
------------------

View file

@ -514,15 +514,26 @@
- (unsigned int) weekNumberForDate: (NSCalendarDate *) date
{
NSCalendarDate *firstWeek;
NSCalendarDate *firstWeek, *previousWeek;
unsigned int weekNumber;
firstWeek = [self firstWeekOfYearForDate: date];
if ([firstWeek earlierDate: date] == firstWeek)
weekNumber = ([date timeIntervalSinceDate: firstWeek]
/ (86400 * 7) + 1);
{
weekNumber = ([date timeIntervalSinceDate: firstWeek] / (86400 * 7) + 1);
}
else
weekNumber = 0;
{
// Date is within the last week of the previous year;
// Compute the previous week number to find the week number of the requested date.
// The number will either be 52 or 53.
previousWeek = [date dateByAddingYears: 0
months: 0
days: -7];
firstWeek = [self firstWeekOfYearForDate: previousWeek];
weekNumber = ([previousWeek timeIntervalSinceDate: firstWeek] / (86400 * 7) + 1);
weekNumber += 1;
}
return weekNumber;
}