2

ユーザーが入力した誕生日をミリ秒に変換して、別の惑星での誕生日を計算するにはどうすればよいですか。

これが私がこれまでに持っているコードです:

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


編集1:はい、ユーザーの誕生日と現在の時刻の間のミリ秒を取得して、それを1年の惑星の日数で割ろうとしています。

4

3 に答える 3

8

dateBirth.getTime()は、エポックからのミリ秒数を示します。それがあなたが探しているものである場合は?

編集 -

今と誕生日の違いを取得するには、明らかに今をDateオブジェクトとして取得し、それをミリ秒に変換して、減算します。たとえば、now.GetTime() - dateBirth.GetTime()

于 2010-02-25T22:15:29.553 に答える
6
Date d = new Date();
long msSinceBirth = d.getTime() - dateBirth.getTime();

これは、ユーザーが過去に生まれたことを前提としています。タイムトラベラーは、に対して負の値を生成しますmsSinceBirth

于 2010-02-25T22:30:46.180 に答える
2

質問を完全に理解しているのかよくわかりませんが、Calendarにはその方法が含まれています...

getTimeInMillis

public long getTimeInMillis()

このカレンダーの現在の時刻をlongとして取得します。

戻り値:エポックからのUTCミリ秒としての現在の時刻。

関連項目: getTime(), setTimeInMillis(long)

于 2010-02-25T22:18:33.203 に答える