2

如何获取用户输入的生日并将其转换为毫秒,以便我可以计算他们在不同星球上的年龄

这是我到目前为止的代码:

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


编辑1:是的,我希望得到用户的生日和当前时间之间的毫秒数,以便将其除以一年中的行星天数

4

3 回答 3

8

dateBirth.getTime()会给你自纪元以来的毫秒数,如果那是你要找的?

编辑 -

为了得到现在和生日之间的差异,您显然可以将 now 作为 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 回答