$file
我正在通过dateStr = 2015-06-18 18:37:57与当前日期时间进行比较。 总是以毫秒为单位得到差异。
答案 0 :(得分:2)
因为您floor
早期值:
double timeInMS1 =(long) (floor([[NSDate date] timeIntervalSince1970]) * 1000 );
double timeInMS2 =(long) (floor([dtTime1 timeIntervalSince1970]) * 1000 );
实际上应该没有floor
或没有强制转换,floor
之后(乘以1000后):
double timeInMS1 = floor([[NSDate date] timeIntervalSince1970] * 1000 );
double timeInMS2 = floor([dtTime1 timeIntervalSince1970] * 1000 );
你现在所做的是得到小数点后的秒和毫秒,然后你removing
毫秒,然后你乘以1000.这太迟了。
或者,正如rmaddy正确建议的那样,首先使用long:
long timeInMS1 = [[NSDate date] timeIntervalSince1970] * 1000;
long timeInMS2 = [dtTime1 timeIntervalSince1970] * 1000;