Objective c 从一天的一小部分创建一个时间字符串

Objective c 从一天的一小部分创建一个时间字符串,objective-c,time,nsdate,Objective C,Time,Nsdate,所有的NSDate东西都有很多可接受的!我有一个float是一天24小时的小数点,我想把它转换成NSString格式的hh:mm AM/PM. 我敢打赌,如果你知道自己在做什么的话,那一定是一句台词……;) 也许是这样的 float day_fraction = 0.45; // This is your input fraction-of-day. int day_seconds = 24 * 3600 * day_fraction; NSDate *tod = [NSDate dateWi

所有的
NSDate
东西都有很多可接受的!我有一个
float
是一天24小时的小数点,我想把它转换成
NSString
格式的
hh:mm AM/PM.


我敢打赌,如果你知道自己在做什么的话,那一定是一句台词……;)

也许是这样的

float day_fraction = 0.45; // This is your input fraction-of-day.

int day_seconds = 24 * 3600 * day_fraction;
NSDate *tod = [NSDate dateWithTimeIntervalSince1970:day_seconds];

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"hh:mma"];
[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];

NSString *dateString = [dateFormat stringFromDate:tod];
NSLog(@"date: %@", dateString);
结果:

date: 10:48AM

请给我们看看你已经有的代码。我有一堆函数,可以计算太阳在天空中的位置。其中包括日出和日落的时间。但与其将我的sunriseLabel.text设置为“0.3452”,我希望它具有良好的hh:mm格式。我已经在使用一个NSDateFormatter来获取月份、年份和日期。。。[格式化程序setDateFormat:@“dd”];NSString*dayString=[formatter stringFromDate:[NSDate date]];int day=[dayString intValue];完美的工作得很好,但更好,我现在知道如何使用它自己。谢谢