Conversione di una data di nascita in millisecondi
-
22-09-2019 - |
Domanda
Come posso prendere una data di nascita inserita da un utente e trasformarla in millisecondi in modo da poter calcolare quanti anni avrebbero su un pianeta diverso
Ecco il codice che ho finora:
DateFormat df = new SimpleDateFormat("MM dd yyyy");
Date dateBirth = df.parse(birthdate);
Calendar calBirth = new GregorianCalendar();
calBirth.setTime(dateBirth);
Modifica 1:Sì, sto cercando di ottenere i millisecondi tra la data di nascita dell'utente e l'ora corrente per dividerli per i giorni di un pianeta in un anno
Soluzione
dataBirth.getTime() ti darà il numero di millisecondi trascorsi dall'epoca, se è quello che stai cercando?
MODIFICARE -
Per ottenere la differenza tra adesso e il compleanno, puoi ovviamente semplicemente ottenere adesso come oggetto Date, convertirlo in millisecondi e sottrarre - ad es. now.GetTime() - dateBirth.GetTime()
.
Altri suggerimenti
Date d = new Date();
long msSinceBirth = d.getTime() - dateBirth.getTime();
Ciò presuppone che l'utente sia nato nel passato.I viaggiatori nel tempo produrranno valori negativi per msSinceBirth
.
Non sono del tutto sicuro di comprendere appieno la domanda, ma Calendar ha il metodo giusto ...
getTimeInMillis
public long getTimeInMillis()
Ottiene l'ora corrente di questo calendario come long.
Ritorna:l'ora corrente in millisecondi UTC dall'epoca.
Guarda anche:getTime(), setTimeInMillis(long)