我如何接受用户输入的生日,并转为毫秒,以便我可以计算出他们在不同星球上的年龄
这是我到目前为止的代码:
DateFormat df = new SimpleDateFormat("MM dd yyyy");
Date dateBirth = df.parse(birthdate);
Calendar calBirth = new GregorianCalendar();
calBirth.setTime(dateBirth);
编辑1:是的我希望得到用户出生日期和当前时间之间的毫秒数,以便将其划分为一年中行星的天数
答案 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)