Frage

Ich versuche nur auf die Stunden und Minuteninformationen von einem NSDate zuzugreifen.

Also habe ich NSCalendar dazu verwendet. Unten ist mein Code:

     NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"hh:mm"];
    NSDate *date = [NSDate date];
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSDateComponents *components = [calendar components:(kCFCalendarUnitHour | kCFCalendarUnitMinute) fromDate:date];
    NSInteger hour = [components hour];
    NSInteger minute = [components minute];
    NSLog(@"%@",date description);
    NSLog(@"Hour : %d MInutes: %d",hour,minute);

Es gibt mir nicht die richtigen Informationen. Unten ist das Protokoll:

2011-10-18 18: 46: 12.194 DateTest [1182: 707] 2011-10-18 13:16:12 +0000 2011-10-18 18: 46: 12.198 DateTest [1182: 707] Stunde: 18 Minuten: 46

Ein weiterer Zweifel ist, wenn die Zeit 18: 46: 12.194 beträgt, ist sie als 13:16:12 protokolliert. Warum ist dieser Unterschied?

War es hilfreich?

Lösung

Weil Sie in einer Zeitzone leben, die 5,5 Stunden vor GMT liegt, und NSDate's -description Die Methode gibt immer eine in der GM -Zeitzone formatierte Zeichenfolge zurück.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top