我想计算今天"今天和#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();
编码时我必须考虑的另一件事是我必须使用自己的代码,而不是已经制作的其他方法。你能帮我解决这个问题吗?我不知道从哪里开始或如何继续我的代码。
答案 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 );