web-dev-qa-db-fra.com

Obtenir la représentation de la date en secondes?

J'utilise une API qui nécessite un paramètre de date sous la forme d'un nombre de secondes, un int.

Mon problème est que je stocke actuellement cette fois-ci dans Java.util.date et je me demandais s’il existe un moyen de convertir la variable Java.util.date en secondes afin que je puisse l’adapter au paramètre int requis par l’API?

13
Sam

importer Java.util.Date;

... longues secondes = (nouvelle Date (). getTime ())/1000; ...

Veuillez consulter - http://docs.Oracle.com/javase/6/docs/api/Java/util/Date.html#getTime ()

Java.util.Date.getTime() renvoie le nombre de millisecondes écoulées depuis le 1er janvier 1970, 00:00:00 GMT représenté par cet objet Date.

    Java.util.Date date=new Date();
    System.out.println(date.getTime());

Sortie : 1340128712111

3

Le nombre de secondes en soi ne veut pas dire grand chose. Nombre de secondes dans la minute actuelle? Nombre de secondes depuis 0:00:00 le 1er janvier 1970? Nombre de secondes depuis le déjeuner? Pourriez-vous être plus précis.

Le mettre dans l'API n'a pas non plus beaucoup de sens, sauf si vous spécifiez exactement quelle API vous utilisez et où vous essayez de mettre ces secondes.

1
Edwin Buck

Depuis Java 8 et les versions suivantes, il existe une méthode élégante qui renvoie le temps de l'époque en secondes (secondes depuis le 01/01/1970 à 00:00. 0). Vous pouvez ensuite stocker cette valeur sous forme de valeur numérique: un "long" dans ce cas.

long timestamp = Java.time.Instant.now().getEpochSecond();