Pregunta

Quiero convertir un flotante a un NSDate

Convertí un NSDate en un flotante usando esto:

// Turn the date into Integers 
NSCalendar *calendar= [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];  
NSCalendarUnit unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;  
NSDateComponents *dateComponents = [calendar components:unitFlags fromDate:nsdate_wakeTime];  
NSInteger hour = [dateComponents hour];  
NSInteger min = [dateComponents minute];  

//Convert the time in 24:60 to x.x format.
float myTime = hour + min/60; 

después de algunas cosas de matemáticas que hago en la variable mytime obtengo muchas otras veces en el mismo formato flotante.

¿Cómo convierto un flotador en un NSDate?

¡Gracias!

¿Fue útil?

Solución

Si convierte el tiempo que ha calculado a segundos (por lo tanto, mytime * 60), puede usar dateWithTimeIntervalSinceReferenceDate: para volver a un NSDate. Según las matemáticas que está haciendo, parece que la fecha de referencia aquí sería 00:00 para el día en cuestión. Sin embargo, como Jason mencionó, probablemente haya una mejor manera de hacer lo que está tratando de lograr.

Además, debe cambiar su " myTime " cálculo para dividir por 60.0 si realmente quieres los minutos; su código de muestra está dividiendo un valor entero menor que 60 por el valor entero 60, que siempre será 0.

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