NSCAlendar и NSDATE Infompatibilty
-
26-10-2019 - |
Вопрос
Я пытаюсь получить доступ только к информации о часах и минутах от NSDATE.
Поэтому я использовал NSCAlendar, чтобы сделать это. Ниже мой код:
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);
Это не дает мне правильную информацию. Ниже приведен журнал:
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] Час: 18 минут: 46
Еще одно сомнение - когда время 18: 46: 12.194 он зарегистрирован как 13:16:12. Почему эта разница?
Решение
Потому что вы живете в часовом поясе, который на 5,5 часа впереди GMT, и NSDate
S. -description
Метод всегда возвращает строку, отформатированную в часовом поясе GM.
Не связан с StackOverflow