2013-02-14 133 views
1

我想创建一个小命令行Java应用程序,它将允许输入日期并将其与当前日期进行比较,并返回一个整数,该整数表示输入日期和当前日期。这是计算一个活人年龄的年龄。到目前为止,我发现我需要使用Calendar对象,但我无法弄清楚如何从当前年份中减去输入年份并返回一个整数。你能帮我吗?只需点击比较日期的机制就可以了。谢谢。在Java中的年龄计算

+0

Heres's a short [approximation](http://stackoverflow.com/a/11790060/216517) – st0le 2013-02-14 20:06:48

+0

不,这根本不能解决我的问题。我使用日历对象并传入日期。 – 2013-02-15 16:01:54

+0

@OsgaldorJasonStorm两个建议的问题和答案解决您的问题。输入的选择并不重要,因为日期,日历和约达的日期时间很容易转换。 – 2013-02-15 17:04:15

回答

2

一旦您使用正确的日期初始化了Calendar对象,则可以调用get(Calendar.YEAR)值来获取表示年份的整数。对这两个日期和减去做这个。

您还需要获取月份和日期并进行比较,因为如果结束日期的月份/日期低于开始日期,那么您需要从早期结果中减去1(该年没有尚未完成)。

通常对于生日,你不关心时间部分(小时/分钟/秒),所以一些图书馆可能会给你一个不同的结果(在极少数情况下) - 有理由推出自己的对于这种情况。

+0

谢谢。我得到了它的工作。现在我有一个新问题。我创建了一个单独的课程来完成所有年龄计算。我有一个主要的类来实例化并完成这项工作。但是当我尝试在命令行上运行它时,像这样:java Age 1970 12 12它抛出异常的洗衣清单,抱怨它无法找到坐在它旁边的目录中的计算类。我没有做足够的部署和jar工具来了解如何解决这个问题。 – 2013-02-17 01:12:25

+0

当我在项目的“运行”属性中设置运行时参数时,它在Netbeans中工作得非常好。我建立这个是一个命令行工具。我做错了什么魔鬼? – 2013-02-17 01:14:03