【发布时间】:2012-06-29 17:36:52
【问题描述】:
我试图在用户选择按钮时获取确切的时间和日期,然后在他们取消选择按钮时再次获取。
到目前为止,我一直在使用 NSDate dateWithTimeIntervalSince1970。这让我得到毫秒(浮点数),这很容易转换为 NSDate,然后转换为字符串。但是我现在已经多次注意到,与我的 Iphone 4S 上的实时时间相比,这并没有给出绝对时间,最多相差 1 或 2 分钟。
这里使用毫秒浮点数的原因是因为它可以很容易地发送到不同的方法,允许它以 NSNumber 的形式保存到核心数据,从而允许以后轻松计算。
我在这里找到了一篇建议使用 CACurrentMediaTime 的帖子,但我未能成功地将其转换为日期和该日期的字符串:
double CurrentTime = CACurrentMediaTime();
NSDate dateWithTimeIntervalSinceNow 给出了正确的日期,只是模拟器上的时钟比我的 mac 上的实际时间早了大约 35 到 45 分钟。
当前的转换是这样的:
NSDate *conversion = [NSDate dateWithTimeIntervalSince1970:startTimeInMiliSeconds];
NSDateFormatter *formatter;
NSString *dateString;
formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd-MM-yyyy HH:mm"];
dateString = [formatter stringFromDate:conversion];
有什么想法/参考吗?
【问题讨论】:
标签: ios datetime core-data nsdate quartz-core