2012-02-17 24 views

Respuesta

44

NSTimeInterval es un doble que ya contiene datos sub-segundos después del punto decimal. Dependiendo de lo que necesita, su conversión podría ser un simple como multiplicar por 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 multiplicar el valor de retorno en 1000 porque el valor devuelto se encuentra segundo no en milisegundos amablemente comprobar que el sitio web para más pruebas http://currentmillis.com/

Cuestiones relacionadas