我有以下代码......
double time = [[NSDate date] timeIntervalSince1970];
double startTime = time;
double endTime = time;
当我运行代码时,startTime
和endTime
彼此之间甚至不相近。例如,startTime
为4378480
,endTime
为1883506224
。
为什么两个时间值之间存在这样的差异?
答案 0 :(得分:3)
首先,对所有变量类型使用NSTimeInterval
,而不是double
。
下一步 - 显示用于打印值的代码。我怀疑你使用了错误的变量类型格式(因为时间间隔总是有一个小数组件)并且因此有效地打印垃圾。
答案 1 :(得分:1)
您是否可以链接您用于输出值的代码,请记住您需要在格式化程序中使用%f而不是%d。上述内容应相同,因为两者都指向相同的值
答案 2 :(得分:0)
没关系,我遇到的问题是使用了错误的NSLog字符。
[NSString stringWithFormat:@"%d", startTime]
什么时候应该是这样。
[NSString stringWithFormat:@"%f", startTime]