如何将float转换为日期格式?

时间:2013-08-03 17:19:15

标签: iphone objective-c uilabel nsdate nsformatter

我有一个浮点值,我需要的是将我的浮点数转换为日期。例如我有浮动50,55,我想加上这样的标签值:50年6个月6个小时6分30,04秒。

我想知道如何让这个标签每0.01秒换一次变化值。请提供解决方案将我的浮动值转换为日期格式,任何帮助将不胜感激。

这是我用于创建我的浮动的代码:

-(float)calculationResult{

    lifeTime = (kCountry +kEdu - kBirth - kSmo -kAlco+kDis+kHap+kDri+kMar)*kWei*kEnv*kSle;

    return lifeTime;
}

1 个答案:

答案 0 :(得分:1)

以下代码将给定数量的“小数年份”拆分为 年,月,日和小时。它每年都会做出简化的假设 有365天,而那一个月恰好是一年的1/12。

float tmp = lifeTime;
int years = tmp;
tmp =  (tmp - years) * 12.;
int months = tmp;
tmp = (tmp - months) * 365./12.;
int days = tmp;
tmp = (tmp - days) * 24.;
int hours = tmp;

NSString *str = [NSString stringWithFormat:@"%d years %d month %d days %d hours ",
                 years, months, days, hours];

要定期更新标签,您可以使用NSTimer类(但每隔1/100秒更新一次)。