Ich habe die ganze Zeit versucht, Beispiele zu berechnen, die ich auf dieser Seite gefunden habe, aber irgendwie bekomme ich jedesmal 0 als Wert. Ich bin neu in IOS und das NSDate gibt mir einen Lauf für sein Geld :)Berechne die verstrichene Zeit zwischen zweimaligem Drücken der gleichen Taste
Ich möchte die Zeit A, wenn ich die Taste "startStop", und dann die Zeit B, wenn ich es erneut drücken. Wenn Sie ein zweites Mal drücken (Abwahl), muss die Zeit zwischen diesen beiden Daten berechnet werden. Bisher habe ich dies:
-(IBAction)buttonClick {
NSDate *startStopDate = [NSDate alloc];
NSDateFormatter *formatter= [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm:ss"];
NSString *currentTime = [[NSString alloc] init];
NSString *currentTime2 = [[NSString alloc]init];
NSDate *start =[ [NSDate alloc]init];
NSDate *stop = [[NSDate alloc] init];
NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
if (startStop.selected==NO) {
NSLog(@"started");
[startStop setSelected:YES];
startStopDate = [NSDate date];
currentTime = [formatter stringFromDate:startStopDate];
NSLog(@"Current timestarted is %@",currentTime);
startTime.text = currentTime;
start = [formatter dateFromString:currentTime];
}
else {
NSLog(@"Selected");
[startStop setSelected:NO];
startStopDate = [NSDate date];
currentTime2 = [formatter stringFromDate:startStopDate];
NSLog(@"Current time is %@",currentTime2);
stopTime.text = currentTime2;
stop = [formatter dateFromString:currentTime2];
NSUInteger unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDateComponents *components = [gregorianCalendar components:unitFlags
fromDate:start
toDate:stop
options:0];
NSInteger hours = [components hour];
NSInteger minutes = [components minute];
NSInteger seconds = [components second];
NSLog(@"hello %d, %d, %d", hours, minutes, seconds);
}
}
Meine Etiketten geben die richtige Stunde: Minute ausgegeben, wenn gedrückt, aber ich kann nicht scheinen, um sie zu dem Zeitpunkt Berechnung zu übertragen. Ich habe versucht, zahlreiche Variationen mit dateFromString und stringFromDate und mehreren Datum/String-Objekten, wie Sie sehen können, aber bisher habe ich nur große negative Zahlen oder nur Null als Ergebnis. Jede Hilfe dankbar;)
Greets, Nick
Aarhhhg natürlich! Ich war so auf diesen einen Block Code fixiert, dass ich komplett vergessen hatte, dass ich dabei war! Mein Haltepunkt zeigte mir, dass sie das selbe Datum hatten, aber stattdessen suchte ich zuerst nach den schwierigsten Möglichkeiten, nicht nach den logischen ... Danke für die schnelle Antwort;) – BossBols
Kein Problem, ich kenne dieses Gefühl. Verstand, die Antwort als richtig anzunehmen? – tronbabylove
Ja, natürlich! Akzeptiert;) – BossBols