Вопрос

Я пытаюсь получить доступ только к информации о часах и минутах от 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, и NSDateS. -description Метод всегда возвращает строку, отформатированную в часовом поясе GM.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top