3

我想将浮点数转换为 NSDate

我使用以下方法将 NSDate 转换为浮点数:

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

在我对 mytime 变量进行一些数学运算之后,我得到了许多其他时间相同的浮点格式。

如何将浮点数变成 NSDate?

谢谢!

4

1 回答 1

2

如果您将计算的时间转换为秒(因此,mytime * 60),那么您可以dateWithTimeIntervalSinceReferenceDate:使用NSDate. 根据您所做的数学计算,此处引用的日期似乎是相关日期的 00:00。正如 Jason 所提到的,可能有更好的方法来完成您想要完成的工作。

此外,如果您真的想要分钟,您需要将“myTime”计算更改为除以 60.0;您的示例代码将小于 60 的整数值除以整数值 60,该整数值始终为 0。

于 2009-05-12T03:52:55.220 回答