使用LocalDate类在今天和您的生日之间的天数?

时间:2016-04-08 19:09:05

标签: java date calculator

我想计算今天"今天和#34;之间的天数。以及他/她输入的用户生日。这就是程序应该是这样的:

When are you born? 19961020 // the user inputs this
Today you are xxxx days old.

日期必须采用以下格式:YYYYMMDD。该计划还应考虑闰年。我必须使用LocalDate类:

 LocalDate datum = LocalDate.now();
int år = datum.getYear();
int månad = datum.getMonthValue();
int dag = datum.getDayOfMonth();

编码时我必须考虑的另一件事是我必须使用自己的代码,而不是已经制作的其他方法。你能帮我解决这个问题吗?我不知道从哪里开始或如何继续我的代码。

1 个答案:

答案 0 :(得分:0)

解析字符串。

您的输入字符串恰好采用标准ISO 8601格式。在解析/生成日期时间值的文本表示时,java.time类将该标准用作其默认值。所以不需要指定自己的格式化模式;使用pre-defined format

LocalDate birthDate = LocalDate.parse( "19961020" , DateTimeFormatter.BASIC_ISO_DATE );

今天来。通常我建议在这里传递ZoneId以获得准确性,但在这种情况下,给予或花一天时间并不重要。

LocalDate today = LocalDate.now();

询问ChronoUnit班之间的天数。

long days = ChronoUnit.DAYS.between( birthdate , today );

Period

您可以使用代表一段时间的Period类作为年数,月数和天数。

Period period = Period.between( birthdate , today );