我試圖確定回到19C的應用程序在兩個不同日期之間的閏年天數 - 這裏是一個方法示例:計算閏年在xcode中的時間差的天數
-(NSInteger)leapYearDaysWithinEraFromDate:(NSDate *) startingDate toDate:(NSDate *) endingDate {
// this is for testing - it will be changed to a datepicker object
NSDateComponents *startDateComp = [[NSDateComponents alloc] init];
[startDateComp setSecond:1];
[startDateComp setMinute:0];
[startDateComp setHour:1];
[startDateComp setDay:14];
[startDateComp setMonth:4];
[startDateComp setYear:2005];
NSCalendar *GregorianCal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
//startDate declared in .h//
startDate = [GregorianCal dateFromComponents:startDateComp];
NSLog(@"This program's start date is %@", startDate);
NSDate *today = [NSDate date];
NSUInteger unitFlags = NSDayCalendarUnit;
NSDateComponents *temporalDays = [GregorianCal components:unitFlags fromDate:startDate toDate:today options:0];
NSInteger days = [temporalDays day];
// then i will need code for the number of leap year Days
return 0;//will return the number of 2/29 days
}
所以我有日期之間的總天數。現在我需要減去閏年的日子?
PS - 我知道兩閏年的天也有在這個例子中,但應用程序將回到19世紀...
如果結束年份是閏年,則會關閉一次。測試應該是currentYear <=(startYear + numYears)。 – Mark
@RoshDamunki 1900年不是閏年。檢查維基百科,可以被100除盡但不是400的年份不是閏年。 –
是的,我發佈後我纔看到。它現在看起來工作得很好。謝謝你謝謝 – RoshDamunki