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

È stato utile?

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)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top