Frage

Ich möchte einen Schwimmer auf eine NSDate konvertieren

I umgewandelt, um eine NSDate in einen Schwimmer mit dieser:

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

Nach einiger Mathe Sachen, die mich auf der mytime Variable bekomme ich ein paar anderen Zeiten im gleichen Float-Format.

Wie schalte ich einen Schwimmer in eine NSDate?

Danke!

War es hilfreich?

Lösung

Wenn Sie die Zeit konvertieren Sie Sekunden berechnet haben (so, mytime * 60), dann können Sie dateWithTimeIntervalSinceReferenceDate: verwenden zurück zu einem NSDate zu bekommen. Von der Mathematik, die Sie tun, es sieht aus wie das hier referenzierten Datum 00.00 für den betreffenden Tag sein würde. Als Jason zwar erwähnt, gibt es wahrscheinlich eine bessere Art und Weise zu tun, was Sie versuchen zu erreichen.

Außerdem müssen Sie Ihre „myTime“ Berechnung von 60,0 bis Teilung ändern, wenn Sie tatsächlich die Minuten wollen; Ihre Beispielcode ist ein Integer-Wert von weniger als 60 durch den ganzzahligen Wert 60, der 0 wird immer geteilt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top