이 메서드는 문자열을 반환합니다. 하지만 초 값은 항상 0입니다. 내가 도대체 뭘 잘못하고있는 겁니까?0을 반환하는 NSCalendarUnitSecond
-(NSString*)secondsBetweenDate:(NSDate*)startDate andDate:(NSDate*)endDate {
NSCalendar *calendar = [NSCalendar currentCalendar];
unsigned int unitFlags = NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
NSDateComponents *difference = [calendar components:unitFlags fromDate:startDate toDate:endDate options:0];
long hour = [difference hour];
long min = [difference minute];
long sec = [difference second];
NSLog(@"Hour: %ld Min: %ld Sec: %ld", hour, min, sec);
return [NSString stringWithFormat:@"%02ld:%02ld:%02ld", hour, min, sec];
}
어떤 날짜입니까? h, m 및 s를 요구하면 0 초의 차이를 나타내는 무한한 날짜가 있습니다. –
두 날짜 사이의 시간을 보여주는 카운터입니다. 매 초마다 나는이 루틴을 호출하고 레이블을 새 시간으로 업데이트합니다. – Gerald
timeToAlertBox.text = [self secondsBetweenDate : sarWatchStartTime andDate : sarWatchEndTime]; sarWatchEndTime은 sarWatchStartTime에서 미래 15 분입니다. – Gerald