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?
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
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.
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();