NSCalendar und NSDate Inkompatibilty
-
26-10-2019 - |
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?
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