Java 将生日转换为毫秒

Java 将生日转换为毫秒,java,gregorian-calendar,Java,Gregorian Calendar,我如何将用户输入的生日转换成毫秒,以便计算出他们在另一个星球上的年龄 以下是我目前掌握的代码: 编辑1:是的,我想得到用户的生日和当前时间之间的毫秒数,以便除以一年中行星的天数将给出自大纪元以来的毫秒数,如果这是您想要的 编辑- 为了得到“现在”和“生日”之间的差异,您显然可以将“现在”作为日期对象,将其转换为毫秒,然后减去-egnow.GetTime()-dateBirth.GetTime(),我不太确定我是否完全理解这个问题,但Calendar中有正确的方法 getTimeInMilli

我如何将用户输入的生日转换成毫秒,以便计算出他们在另一个星球上的年龄

以下是我目前掌握的代码:


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

将给出自大纪元以来的毫秒数,如果这是您想要的

编辑-


为了得到“现在”和“生日”之间的差异,您显然可以将“现在”作为日期对象,将其转换为毫秒,然后减去-eg
now.GetTime()-dateBirth.GetTime()
,我不太确定我是否完全理解这个问题,但Calendar中有正确的方法

getTimeInMillis

public long getTimeInMillis()

获取此日历的当前时间作为长时间

返回: 从历元开始的当前时间(UTC毫秒)

另见:
getTime(),setTimeInMillis(长)


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

产生负值,您真的需要毫秒吗?这对于计算年龄来说似乎有点太精确了,你不认为吗?只是澄清一下,你在寻找用户的生日和当前时间之间的毫秒数?这比我的答案更有意义。我想我花了一段时间来思考“另一个星球上的年龄”这个主题——我想如果你知道火星上每年的毫秒数,比如说,你可以用这个因子除以你现在的年龄(毫秒)。你比我先找到了答案,但是我把我的留给你,因为你没有在你的时间旅行中开玩笑。在一个关于Java的问题中,所有方法的首字母大写是怎么回事?@jball,+1对你来说,因为我没有勇气开玩笑@科林,在我花了一整天的时间用C#编程之后,在回答一个Java问题后就会发生这种情况。不+1-时间旅行笑话没有达到要求的标准。@Stephen,如果我能回到过去写一个更好的笑话,我会的。自相矛盾的是,“编辑”按钮意味着你不需要回到过去写一个更好的笑话:-)@Stephen,时光倒流将是微不足道的一部分。这是问题的另一半,我无法解决。
DateFormat df = new SimpleDateFormat("MM dd yyyy");
Date dateBirth = df.parse(birthdate);
Calendar calBirth = new GregorianCalendar();
calBirth.setTime(dateBirth);
Date d = new Date();
long msSinceBirth = d.getTime() - dateBirth.getTime();