我正在使用一个以.NET刻度格式返回时间戳的API,我认为它是自0001年1月1日以来的100纳秒。最后以一个非常大的数字结尾,例如635492330000000(仅从内存中键入)。
当我从API获取数字时,它在NSNumber中,但是太大了,无法在32位设备上转换为Integer进行数学运算并将其转换为秒。如何将其转换为NSDate?
使用long long
它可以处理大量这样的事情。NSSNumber
NSLog(@"%lld", [date longlongValue]);
将其转换为日期。
NSNumber *dateNumber = @(635492330000000); //Your Number
NSDate *date = [NSDate dateWithTimeIntervalSince1970: ([dateNumber longLongValue]-621355968000000L)/10000.0]; //621355968000000L are ticks
从0001年1月1日开始计算。 2014-10-18 12:43:20 +0000
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句