Преобразование даты рождения в миллисекунд
-
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)