首先。我已经查看了其他类似问题的现有主题,但它们确实涵盖了计算一个人年龄,月份和日期的一般方法。
我想知道我是否可以做很多事而不是短路。为了计算一个人在几天内的年龄,我首先在LocalDate的帮助下获得当前日期:
LocalDate date = LocalDate.now();
int years = 0, months = 0, days = 0;
int currYear = date.getYear();
int currMonth = date.getMonthValue();
int currDay = date.getDayOfMonth();
为了获得用户的生日,我使用扫描仪:
Scanner scanner = new Scanner(System.in);
int userDate;
System.out.println("When are you born? - YYYYMMDD:");
userDate = scanner.nextInt();
int inputYear = userDate / 10000;
int inputMonth = (userDate / 100) % 100;
int inputDay = userDate % 100;
如何在不使用已定义的方法a.k.a:
的情况下计算这两个日期之间的差异
GregorianCalendar userInput= new GregorianCalendar(inputYear, inputMonth - 1, inputDay);
long difference = (greg.getTimeInMillis() - userInput.getTimeInMillis());
long total = difference / 1000 / 60 / 60 / 24;
total += counter;
System.out.println("You are " + total + " days old");
任何提示,方向指针都会非常受欢迎!
提前致谢。 :)
答案 0 :(得分:0)
您不应混合使用各种日期对象和计算,并期望它能够正常工作。 使用SimpleDateFormat可以轻松地解析/输出日期而不需要任何巨大的efford,因为它已经为你完成了。您将获得通常的Date,您可以从中获得时间。从那里开始它的唯一计算,应该相当简单。
如果您需要有关日期的帮助,请查看this simple Tutorial以获取更多信息。
答案 1 :(得分:0)
我做了一个简单的算法。首先,我首先计算用户出生的那一年剩余的天数。有了这些,我就开始添加当年的日子 - 1(意思是2015年)。然后我算法的最后一部分是计算今年过去了多少天。