¿Alguien puede darme una idea de cómo obtener la fecha actual en milisegundos?
objective-c
cocoa-touch
ios
date
time
Siva
fuente
fuente
Respuestas:
Hay varias formas de hacer esto, aunque mi favorita personal es:
Puedes leer más sobre este método aquí . También puede crear un objeto NSDate y obtener la hora llamando a timeIntervalSince1970, que devuelve los segundos desde el 1/1/1970:
Y en Swift:
fuente
CFAbsoluteTimeGetCurrent()
devuelve el tiempo relativo a la fecha de referenciaJan 1 2001 00:00:00 GMT
. No es que se haya dado una fecha de referencia en la pregunta, pero tenga en cuenta que esta no es una marca de tiempo de UNIX.Lanzar el NSTimeInterval directamente a un largo se desbordó para mí, así que en su lugar tuve que lanzar a un largo.
El resultado es una marca de tiempo de 13 dígitos como en Unix.
fuente
timeIntervalSince1970
método devuelve los segundos en el número entero, sin embargo,double
también incluye la fracción de segundo que se puede convertir aritméticamente a milisegundos. Por lo tanto, la multiplicación por 1000.long long
? este idioma es tan extrañofuente
fuente
Puedes simplemente hacer esto:
esto devolverá un valor en milisegundos, por lo que si multiplica el valor resultante por 1000 (como sugirió mi Eimantas), desbordará el tipo largo y dará como resultado un valor negativo.
Por ejemplo, si ejecuto ese código ahora mismo, resultará en
y
fuente
@JavaZava, su solución es buena, pero si desea tener un valor de 13 dígitos para ser coherente con el formato de la marca de tiempo en Java o JavaScript (y otros lenguajes), utilice este método:
o (si necesita una cadena):
fuente
Como se mencionó anteriormente, [[NSDate date] timeIntervalSince1970] devuelve un NSTimeInterval, que es una duración en segundos, no milisegundos.
Puede visitar https://currentmillis.com/ para ver cómo puede obtener el idioma que desee. Aquí está la lista -
Para el objetivo, CI hizo algo como a continuación para imprimirlo:
Hopw esto ayuda.
fuente
Cconvertir
NSTimeInterval
milisecondedDate
valor aynsstring
después convertir enint
.fuente
Puede utilizar los siguientes métodos para obtener la fecha actual en milisegundos.
O
Fuente: iPhone: ¿Cómo obtener milisegundos actuales?
fuente
fuente
Use esto para obtener el tiempo en milisegundos
(long)(NSTimeInterval)([[NSDate date] timeIntervalSince1970])
.fuente
Una extensión de la fecha es probablemente la mejor manera de hacerlo.
fuente