【发布时间】:2012-12-18 04:10:36
【问题描述】:
我正在使用以下代码将值 18900 转换为 hh:mm:ss
不幸的是,返回的值似乎不正确,因为它给了我 06:15:00
谁能告诉我为什么会出错
谢谢
-(NSString*)setHours:(double)result
{
NSLog(@"result %0.2f",result);
NSDate *date = [NSDate dateWithTimeIntervalSince1970:result];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm:ss"];
NSString *localizedString = [formatter stringFromDate:date];
[formatter release];
return localizedString;
}
【问题讨论】:
-
我相信这是自 1970 年 1 月 1 日以来的秒数。所以从那时起你得到的时间是 18900 秒。
-
18900 是什么意思?它是从 1970 年开始还是 unix 时间戳或仅秒数?
-
您期望的值是多少?另外,您为 06:15:00 的“结果”传递了什么值?
-
18900 是一个代表秒的双精度值,所以我预计 5 小时 15 分钟
-
int secs = 结果; int h = 秒 / 3600; int m = 秒 / 60 % 60; int s = 秒 % 60;
标签: ios nsdateformatter