Incompatibilia nscalendar y nsdate
-
26-10-2019 - |
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?
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