Pergunta

Como faço para tomar uma data de nascimento inserida por um usuário e me transformar em milissegundos para que eu possa calcular quantos anos eles teriam em um planeta diferente

Aqui está o código que tenho até agora:

DateFormat df = new SimpleDateFormat("MM dd yyyy");
Date dateBirth = df.parse(birthdate);
Calendar calBirth = new GregorianCalendar();
calBirth.setTime(dateBirth);


Edit 1: Sim, estou procurando obter os milissegundos entre a data de nascimento do usuário e a hora atual, a fim de dividir isso nos dias de um planeta em um ano

Foi útil?

Solução

datebirth.gettime () dará a você o número de milissegundos desde a época, se é isso que você está procurando?

Editar -

Para obter a diferença entre agora e o aniversário, você pode obviamente obter agora como um objeto de data, convertê -lo em milissegundos e subtrair - por exemplo, now.GetTime() - dateBirth.GetTime().

Outras dicas

Date d = new Date();
long msSinceBirth = d.getTime() - dateBirth.getTime();

Isso pressupõe que o usuário nasce no passado. Os viajantes do tempo produzirão valores negativos para msSinceBirth.

Não tenho certeza se entendi completamente a pergunta, mas o calendário tem o método certo ...

getTimeInMillis

public long getTimeInMillis()

Obtém o tempo atual deste calendário como um longo.

Retornos: o horário atual como milissegundos UTC da época.

Veja também:getTime(), setTimeInMillis(long)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top