Преобразование даты рождения в миллисекунд

StackOverflow https://stackoverflow.com/questions/2338067

  •  22-09-2019
  •  | 
  •  

Вопрос

Как мне взять дату рождения, введенную пользователем и превратиться в миллисекунд, чтобы я мог рассчитать, сколько им лет будет на другой планете

Вот код, который у меня есть до сих пор:

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


РЕДАКТИРОВАТЬ 1: Да, я хочу получить миллисекунд между датой рождения пользователя и текущим временем, чтобы разделить это на дни планеты в году

Это было полезно?

Решение

datebirth.gettime () Даст вам количество миллисекундов с момента эпохи, если это то, что вы ищете?

РЕДАКТИРОВАТЬ -

Чтобы получить разницу между сейчас и день рождения, вы можете просто получить сейчас как объект даты, преобразовать его в миллисекунд и вычесть - например, now.GetTime() - dateBirth.GetTime().

Другие советы

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

Это предполагает, что пользователь родился в прошлом. Путешественники во времени будут давать отрицательные значения для msSinceBirth.

Не совсем уверен, что я полностью понимаю вопрос, но в календаре есть метод прямо в нем ...

getTimeInMillis

public long getTimeInMillis()

Получает текущее время этого календаря как длинное.

Возврат: текущее время как UTC Milliseconds из эпохи.

Смотрите также:getTime(), setTimeInMillis(long)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top