【问题标题】:Create a time string from a fraction of a day从一天的一小部分创建时间字符串
【发布时间】:2010-12-08 04:51:57
【问题描述】:

NSDate 的所有内容都值得吸收!我有一个float,它是一天 24 小时的小数部分,我想将其转换为 NSString,格式为 hh:mm AM/PM.

如果你知道自己在做什么,我敢打赌这是一个单行... ;)

【问题讨论】:

  • 请向我们展示您已有的代码。
  • 我有一堆函数可以计算太阳在天空中的位置。其中包括日出和日落的时间。但我不想将我的 sunriseLabel.text 设置为“0.3452”,而是希望它采用一个不错的 hh:mm 格式。我已经在使用这样的 NSDateFormatter 来获取月份、年份和日期... [formatter setDateFormat:@"dd"]; NSString *dayString = [格式化字符串FromDate:[NSDate date]]; int day = [dayString intValue];

标签: objective-c time nsdate


【解决方案1】:

也许是这样的?

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

【讨论】:

  • 完美!效果更好,更好,我现在知道如何自己使用它。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 2010-11-09
  • 2015-04-19
  • 1970-01-01
相关资源
最近更新 更多