2013-04-05 8 views

risposta

25

C'è un post simile here e here.

In pratica dovete ottenere il secondo modulo della data di riferimento (1 ° gennaio 2001 GMT) e moltiplicarlo con il 1000.

NSTimeInterval seconds = [NSDate timeIntervalSinceReferenceDate]; 
double milliseconds = seconds*1000; 

Cheers!

+5

'timeIntervalSinceReferenceDate' restituisce un' double'. Se lo assegni ad un numero intero prima di moltiplicarlo per 1000, perdi la precisione in millisecondi! –

+0

Sì, mi dispiace mio male. NSTimeInterval è un typedef di double: 'typedef double NSTimeInterval;' – alexcristea

+0

In realtà è necessario utilizzare un double per memorizzare millisecondi, oppure è probabile che si verifichi un problema di overflow. doppio millisecondo = secondi * 1000; – Michael