2012-02-17 13 views

risposta

44

NSTimeInterval è un doppio che già contiene dati inferiori al secondo dopo il punto decimale. A seconda che cosa avete bisogno, la vostra conversione potrebbe essere un semplice come moltiplicare per 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

timeIntervalSince1970 moltiplicare il valore di ritorno per 1000 perché il valore restituito è in seconda non in millisecondi controllo gentile che il sito web per ulteriori test http://currentmillis.com/

Problemi correlati