更新时间:2023-02-03 16:37:18
NSTimeInterval是一个双精度数,它已包含小数点后的亚秒数据。根据您的需要,转换可能很简单,乘以1000。
NSTimeInterval is a double that already contains sub-second data after the decimal point. Depending what you need, your conversion could be a simple as multiplying by 1000.
- (void)testDateFormat
{
NSDate *date = [NSDate date];
NSLog(@"Time: %f", floor([date timeIntervalSince1970] * 1000));
NSLog(@"Time: %f", floor([date timeIntervalSince1970]));
NSLog(@"Time: %lli", [@(floor([date timeIntervalSince1970] * 1000)) longLongValue]);
NSLog(@"Time: %lli", [@(floor([date timeIntervalSince1970])) longLongValue]);
}
// Result
// 2013-04-15 13:28:11.284 TestApp[10469:907] Time: 1366057691284.000000
// 2013-04-15 13:28:11.286 TestApp[10469:907] Time: 1366057691.000000
// 2013-04-15 13:28:11.287 TestApp[10469:907] Time: 1366057691284
// 2013-04-15 13:28:11.288 TestApp[10469:907] Time: 1366057691