NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];
[components setTimeZone:[ NSTimeZone timeZoneForSecondsFromGMT:(+0*3600) ] ] ;
[components setYear:2011];
[components setDay:13];
[components setMonth:5];
NSDate *date1 = [gregorianCalendar dateFromComponents:components];
NSDate *date2 = [[NSDate alloc] init];
NSTimeInterval diff = [data2 timeIntervalSinceDate:date1];
NSString *intervalString = [NSString stringWithFormat:@"%f", diff];
int second = [intervalString intValue];
int period = second/3600/24;
NSLog(@"period:%d", period);
NSLog(@"date1:%@", data1);
NSLog(@"date2:%@", data2);
コンソールでは、結果は次のとおりです。
2011-05-12 10:57:00.406 プロジェクト[297:707] 期間:0;
2011-05-12 10:57:00.375 プロジェクト[297:707] データ 2:2011-05-12 08:56:52 +0000
2011-05-12 10:57:00.402 プロジェクト[297:707] data1:2011-05-13 00:00:00 +0000
期間が「0」である理由がわかりません。「1」でなければなりません。手伝って頂けますか?