float currentTimeMillis = [[NSDatedate] timeIntervalSince1970] * 1000;
NSLog(@"currentTimeMillis = %f", currentTimeMillis);
以上代码相当于 Java 的:
long currentTimeMillis = System.currentTimeMillis();
System.out.println("currentTimeMillis = " + currentTimeMillis);
[[NSDate date] timeIntervalSince1970] 返回的数值是以 “秒” 为单位的
System.currentTimeMillis() 返回的数值是以 “毫秒” 为单位的,
所以要给乘以一个1000。
另外,经我测试,如果用 float 类型来接收 timeIntervalSince1970 方法的返回值的话,
限于浮点数所能表示的取值范围,会将小数位的数值抹平,也就是小数位变成 6 个 0 了~
如果用 double 的话,能够不损失小数位的精度。
总而言之,还是随需求而定,一般情况下用 float 来接收就差不多够用了~
对之前的论述加以纠正
timeIntervalSince1970 的返回值还是得用 double 来接收,
昨天实践了一下,用 float 接收的话不管何时接收到的都是同一个数值,
比较坑爹,也是后来到仔细用的时候才发现这个问题