95 votes

Comment obtenir des millisecondes à partir de l'époque (1970-01-01) en Java ?

J'ai besoin d'obtenir le nombre de millisecondes depuis 1970-01-01 UTC jusqu'à maintenant UTC en Java.

J'aimerais également pouvoir obtenir le nombre de millisecondes entre 1970-01-01 UTC et toute autre date UTC.

188voto

Anders R. Bystrup Points 7500

Et si System.currentTimeMillis() ?

Extrait de la JavaDoc :

Les retours : la différence, mesurée en millisecondes, entre l'heure actuelle et minuit, le 1er janvier 1970 UTC

Java 8 présente le java.time notamment le Instant classe qui " ...modèle un ... point sur la ligne du temps... " :

long now = Instant.now().toEpochMilli();

Les retours : le nombre de millisecondes depuis l'époque de 1970-01-01T00:00:00Z -- c'est-à-dire à peu près la même chose que ci-dessus :-)

A la vôtre,

55voto

Przemek Points 5682

Java.time

Utilisation de la java.time intégré à Java 8 et aux versions ultérieures.

import java.time.Instant;

Instant.now().toEpochMilli(); //Long = 1450879900184
Instant.now().getEpochSecond(); //Long = 1450879900

Cela fonctionne en UTC car Instant.now() est vraiment un appel à Clock.systemUTC().instant()

https://docs.oracle.com/javase/8/docs/api/java/time/Instant.html

17voto

Alexander Pavlov Points 16338

Essayez aussi System.currentTimeMillis()

-2voto

Hari Rao Points 456

Vous pouvez également essayer

  Calendar calendar = Calendar.getInstance();
  System.out.println(calendar.getTimeInMillis());

getTimeInMillis() - l'heure actuelle en millisecondes UTC à partir de l'époque.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X