Преобразование даты рождения в миллисекунды - PullRequest
2 голосов
/ 26 февраля 2010

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

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

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


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

Ответы [ 3 ]

8 голосов
/ 26 февраля 2010

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

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

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

6 голосов
/ 26 февраля 2010
Date d = new Date();
long msSinceBirth = d.getTime() - dateBirth.getTime();

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

2 голосов
/ 26 февраля 2010

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

getTimeInMillis

public long getTimeInMillis()

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

Возвращает: текущее время в UTC, миллисекунды от эпохи.

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

...