2012-02-17 94 views
17

我需要能够将日期转换为时间戳,即以毫秒为单位的时期。 我在网上看到的所有内容都是将毫秒转换为NSDate,而不是相反。有什么帮助吗?将NSDate转换为毫秒纪元时间

回答

44

NSTimeInterval是小数点后已经包含子的第二数据的两倍。根据你的需要,你的转换可能是一个简单的由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 
1

乘以1000 timeIntervalSince1970乘返回值,因为返回值的第二个不毫秒 请核实网站更多的测试http://currentmillis.com/