2010-11-22 25 views
-3

Mögliche Duplizieren:
Operation between hours.Wie bekomme ich die Anzahl der Stunden zwischen zwei Zeiten?

Ich habe 2 Tasten, wenn Sie jede drücken Zeitauswahl wird kommen und gibt den in der Taste gewählten Zeitpunkt. Wie subtrahiere ich die beiden Male? Ich versuche es zu erklären mit und Beispiel: Ich drücke Taste eins, und ich habe Zeit Picker Coming Out, ich wähle, sagen wir 6:00 Uhr. 18.00 Uhr wird in meinem Button1 zurückkehren. Ich mache das gleiche mit Taste zwei. Ich wähle eine Zeit, sagen wir 20 Uhr. 20:00 Uhr kommt in meinem Button2 zurück. Ich möchte wissen, wie kann ich sie subtrahieren, um zu finden, wie viele Stunden ich zwischen button1 und button2 habe. In diesem Fall wären es 2 Stunden.

Hier ist ein Stück Code, wo ich die Taste done drücken, um die Zeit in der Taste ausgewählt zurückzukehren.

- (IBAction)doneButtonPressed2:(id)sender 
{ 
    if ([self.delegate respondsToSelector:@selector(datePickerViewController2:didChooseDate:)]) { 
     NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; 
     [dateFormatter setTimeStyle:NSDateFormatterShortStyle]; 

     NSString *dateString = [dateFormatter stringFromDate:[datePicker date]]; 

     [self.delegate datePickerViewController2:self didChooseDate:dateString]; 
     [self dismissModalViewControllerAnimated:YES];  
    } 

Ich glaube, ich habe dies zu verwenden, um das, was ich will:

//NSTimeInterval secondsBetween = [firstTime timeIntervalSinceDate:secondTime]; 

aber ich bin nicht ganz sicher, wie es zu benutzen.

Vielen Dank für Ihre Hilfe!

+0

Diese Frage ist kaum besser als Ihre letzte. Bitte versuchen Sie klar zu schreiben, indem Sie Absätze mit Codebeispielen verwenden. Erklären Sie, was Sie versucht haben, welche Dokumentation Sie verwenden und versuchen Sie, die Standardterminologie zu verwenden, wenn Sie sie kennen. –

+0

Bitte geben Sie ein Codebeispiel ein. –

+0

Alex hat Recht, bitte geben Sie uns eine klare Frage mit Codebeispielen ... – bontoJR

Antwort

0

Vorausgesetzt Sie haben eine UIDatePicker verwenden, um Modus UIDatePickerModeTime dann:

NSTimeInterval timeInterval = [dateFromButton1 timeIntervalSinceDate:dateFromButton2]; 

geben Ihnen die Zeitdifferenz in Sekunden: siehe Dokumentation für NSDate und NSTimeInterval (die als Doppel definiert ist).

+0

Vielen Dank Nick. - (IBAction) doneButtonPressed2: (ID) Absender { \t if ([self.delegiere anyToSelector: @selector (datePickerViewController2: didChooseDate :)]) { \t \t NSDateFormatter * DatumFormatter = [[[[NSDateFormatter Alloc] init] Autorelease]; \t \t [dateFormatter setTimeStyle: NSDateFormatterShortStyle]; \t \t \t \t NSString * DatumString = [DatumFormatter StringFromDate: [DatumPicker Datum]]; \t \t \t \t [Selbst.delegieren datePickerViewController2: selbst didChooseDate: dateString]; \t \t [selbst entlassenModalViewControllerAnimated: YES]; \t \t \t \t NSTimeInterval SekundenBetween = [Erstmal timeIntervalSinceDate: secondtime]; \t \t } – viviana

+0

das Stück Code oben ist, wenn Sie die Zeit wählen, und Sie drücken Sie die Schaltfläche drücken Sie die Zeit zurück in der Taste – viviana

0

Ich glaube, ich habe bekommen, wonach Sie fragen. Let date1 Ihr erster Tag von button1 sein, date2 Ihr zweites Datum wäre von button2

double subtractedTimeInterval = [date1 timeIntervalSinceDate:date2]; 
NSLog(@"The Time Interval Between two dates : %@",[NSString stringWithFormat:"%g"subtractedTimeInterval]); 

Wenn die date1 früher als date2 ist, ist der Rückgabewert negativ.

+0

vielen Dank für Ihre Hilfe. wie gebe ich date1 und date2 ein. Ich habe meine Knöpfe in Zahlen eingegeben ... bin ich auf dem richtigen Weg? - (void) viewDidLoad { \t [super viewDidLoad]; \t self.button.tag = 100001; \t self.button2.tag = 100002; \t self.button3.tag = 100003; \t self.button4.tag = 100004; \t buttonPressed = -1; \t buttonPressed2 = -1; – viviana

+0

Es tut mir leid, ich bin nicht sehr vertraut mit dem, was du gerade gesagt hast ... könntest du es nochmal erklären ... – viviana

+0

Denkst du, dass es möglich ist, dass ich dir meinen Code übergebe? So ist es wahrscheinlich einfacher zu kommunizieren. – viviana

Verwandte Themen