年末までの日数、時間数、分数、秒数を表示しようとしています。
私のアイデアは、現在の時刻にNSDateを作成し、年末にNSDateを作成することでした。次に、それらを減算します。
ドキュメントを読んだ後、2つのNSDateを加算するが、減算しない方法を見ました。
カウントダウンタイマーを作る方法が必要ですか?
年末までの日数、時間数、分数、秒数を表示しようとしています。
私のアイデアは、現在の時刻にNSDateを作成し、年末にNSDateを作成することでした。次に、それらを減算します。
ドキュメントを読んだ後、2つのNSDateを加算するが、減算しない方法を見ました。
カウントダウンタイマーを作る方法が必要ですか?
これを試して:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@\"yyyy-MM-dd HH:mm:ss\"];
NSDate *endDate = [dateFormatter dateFromString:@"2013-01-01 00:00:00"];
JustSidのコメントに基づくと、これはここから進む方法のようです。
NSDateComponents *timeDifference = [[NSCalendar currentCalendar]
components: NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit
fromDate:[NSDate date] toDate:endDate options:0];
int days = timeDifference.day;
int hours = timeDifference.hour;
int minutes = timeDifference.minute;
int seconds = timeDifference.second;
次のようなものを試してください。
- (NSString*) getTimeInterval:(NSDate*) start endTime:(NSDate*) end {
if([[NSString stringWithFormat:@"%@", end] isEqualToString:@"1970-01-01 00:00:00 +0000"]) {
end = [NSDate dateWithTimeIntervalSince1970:[[NSDate date] timeIntervalSince1970]];
}
NSTimeInterval interval = [end timeIntervalSinceDate: start];
int numberOfdays = floor(interval/86400);
int numberOfHours = floor((interval - numberOfdays*86400) / 3600);
int numberOfMinutes = floor((interval - numberOfdays*86400 - numberOfHours*3600) / 60);
return [NSString stringWithFormat:@"%d d %d h %d m", numberOfdays, numberOfHours, numberOfMinutes];
}