Pregunta

Estoy tratando de acceder a la información de un NSDATE solo las horas y minutos.

Así que usé nscalendar para hacer eso. A continuación se muestra mi código:

     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);

No me da la información correcta. A continuación se muestra el registro:

2011-10-18 18: 46: 12.194 DataTest [1182: 707] 2011-10-18 13:16:12 +0000 2011-10-18 18: 46: 12.198 Datetest [1182: 707] Hora: 18 minutos: 46

Otra duda es cuando la hora es 18: 46: 12.194, se registra como 13:16:12. ¿Por qué es esta diferencia?

¿Fue útil?

Solución

Porque vives en una zona horaria que está 5.5 horas por delante de GMT, y NSDate's -description El método siempre devuelve una cadena formateada en la zona horaria de GM.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top