Conversion en millisecondes une date de naissance
-
22-09-2019 - |
Question
Comment puis-je prendre une date de naissance est entré par un utilisateur et se transformer en millisecondes afin que je puisse calculer à quel âge ils seraient sur une autre planète
Voici le code que j'ai jusqu'à présent:
DateFormat df = new SimpleDateFormat("MM dd yyyy");
Date dateBirth = df.parse(birthdate);
Calendar calBirth = new GregorianCalendar();
calBirth.setTime(dateBirth);
Edit 1: Oui, je suis à la recherche d'obtenir les millisecondes entre la date de naissance de l'utilisateur et l'heure actuelle afin de diviser par les jours d'une planète en un an
La solution
dateBirth.getTime () vous donnera le nombre de millisecondes depuis l'époque, si c'est ce que vous cherchez?
EDIT -
Afin d'obtenir la différence entre maintenant et l'anniversaire, vous pouvez évidemment juste obtenir maintenant comme un objet Date, convertir en millisecondes, et soustrayez -. Par exemple now.GetTime() - dateBirth.GetTime()
Autres conseils
Date d = new Date();
long msSinceBirth = d.getTime() - dateBirth.getTime();
Cela suppose que l'utilisateur est né dans le passé. voyageurs du temps produisent des valeurs négatives pour msSinceBirth
.
Pas tout à fait sûr de bien comprendre la question, mais le calendrier a la bonne méthode en elle ...
getTimeInMillis
public long getTimeInMillis()
Obtient l'heure de ce calendrier en temps.
Retours: l'heure actuelle comme millisecondes UTC de l'époque.
Voir aussi:
getTime(), setTimeInMillis(long)