将生日转换为毫秒

时间:2010-02-25 22:12:20

标签: java gregorian-calendar

我如何接受用户输入的生日,并转为毫秒,以便我可以计算出他们在不同星球上的年龄

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

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


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

3 个答案:

答案 0 :(得分:8)

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

编辑 -

为了获得现在和生日之间的差异,显然你现在可以将其作为Date对象,将其转换为毫秒,然后减去 - 例如now.GetTime() - dateBirth.GetTime()

答案 1 :(得分:6)

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

这假设用户是在过去出生的。时间旅行者将为msSinceBirth产生负值。

答案 2 :(得分:2)

我不太确定我完全理解这个问题,但是日历中有正确的方法......

getTimeInMillis

public long getTimeInMillis()

将此日历的当前时间设为长。

返回: 从纪元开始的当前时间为UTC毫秒。

参见: getTime(), setTimeInMillis(long)