incompatibilité NSCalendar et NSDate
-
26-10-2019 - |
Question
Je suis en train d'accéder uniquement les informations heures et minutes d'un NSDate.
Alors je NSCalendar de le faire. Voici mon 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);
Il ne me donne pas la bonne information. Ci-dessous le journal:
18/10/2011 18: 46: 12,194 DateTest [1182: 707] 18.10.2011 13:16:12 +0000 18/10/2011 18: 46: 12,198 DateTest [1182: 707] Heure: 18 minutes: 46
Un autre doute est quand le temps est 18: 46: 12,194 il est connecté comme 13:16:12. Pourquoi cette différence?
La solution
Parce que vous vivez dans une zone de temps qui est de 5,5 heures d'avance sur GMT, et la méthode de NSDate
de -description
retourne toujours une chaîne formatée dans le fuseau horaire de GM.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow