Pergunta

Eu quero converter um float para um NSDate

I converteu um NSDate em um flutuador usando este:

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

depois de algumas coisas de matemática que eu faço sobre a variável Mytime eu recebo um monte de outras vezes no mesmo formato float.

Como posso transformar uma bóia em um NSDate?

Obrigado!

Foi útil?

Solução

Se você converter o tempo que você calculado para segundos (assim, Mytime * 60), então você pode usar dateWithTimeIntervalSinceReferenceDate: para voltar a um NSDate. Desde a matemática que você está fazendo, parece que a data referenciada aqui seria 0:00 para o dia em questão. Como Jason mencionou, porém, há provavelmente uma maneira melhor de fazer o que você está tentando realizar.

Além disso, você precisa mudar a sua computação "MyTime" para dividir por 60,0 se você realmente quer os minutos; seu código de amostra é dividir um valor inteiro inferior a 60 pelo valor inteiro 60, que será sempre 0.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top