Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

353
Vistas
¿Por qué Date.now() y System.currentTimeMillis() devuelven valores diferentes?

Tengo una aplicación de Android y una aplicación web que están conectadas entre sí. Al hacer clic en un botón en la aplicación web, se envía instantáneamente una notificación a la aplicación de Android. En el momento en que se hace clic en el botón de la aplicación web, necesito registrar la hora actual en ambas aplicaciones.

En la aplicación web estoy usando Date.now() para registrar la hora. Y en la aplicación de Android estoy usando System.currentTimeMillis() para registrar la hora. Cuando se hace clic en el botón en la aplicación web, solo toma un par de segundos para que la notificación llegue a la aplicación de Android. Por lo tanto, el tiempo registrado en ambos lugares debe diferir solo en unos pocos segundos.

Pero las siguientes marcas de tiempo se registran en ambos lugares:

 Web app- using Date.now() - 1653945533308 Android app- using System.currentTimeMillis() - 1653945810727

Estas marcas de tiempo tienen una diferencia de 5 minutos, lo cual es incorrecto. Parece que, por alguna razón, las marcas de tiempo registradas por las 2 API no son exactamente las mismas al mismo tiempo.

¿Por qué está pasando esto? ¿Hay alguna forma de garantizar que "Date.now() in javascript" y "System.currentTimeMillis() in java" registren la misma marca de tiempo al mismo tiempo?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Como dice @RobbyCornelissen, esto probablemente esté relacionado con los relojes de los sistemas. La fecha de JavaScript solo puede ser tan precisa como el reloj del sistema en el que se está ejecutando. Vea esta pregunta relevante para una breve discusión sobre el tema. Lo mismo ocurre con Java, y también hay una discusión en Java Docs sobre las discrepancias entre la hora del sistema y la hora UTC. Supongo que está ejecutando su aplicación de Android en algún tipo de emulador de dispositivo físico, por lo que podría ser que la hora del sistema sea diferente.

Desde el punto de vista de la programación, según el caso de uso, siempre puede resolver esto pasando el reloj/fecha de la aplicación web a la API, o al revés. Los relojes siempre han sido un problema en el diseño de computadoras, y hay mucha investigación al respecto, por lo que no debería tener dificultades para encontrar algún problema similar en la literatura.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda