Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用LocalDate类从今天到您的生日之间的天数?_Java_Date_Calculator - Fatal编程技术网

Java 使用LocalDate类从今天到您的生日之间的天数?

Java 使用LocalDate类从今天到您的生日之间的天数?,java,date,calculator,Java,Date,Calculator,我想计算从“今天”到用户生日之间的天数,用户输入这些天数。这就是程序的外观: 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.

我想计算从“今天”到用户生日之间的天数,用户输入这些天数。这就是程序的外观:

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();
在编码时我必须考虑的另一件事是我必须使用我自己的代码,而不是其他已经做过的方法。你能帮我做这个吗?我不知道从哪里开始或如何继续我的代码。

解析字符串

您的输入字符串恰好是标准ISO 8601格式。在解析/生成日期时间值的文本表示时,java.time类使用该标准作为默认值。因此,无需指定自己的格式模式;使用一个

今天就开始。通常我建议在这里传递一个值以确保准确性,但在这种情况下,一天的付出或付出实际上并不重要

LocalDate today = LocalDate.now();
要求在两天之间与班级进行交流

Period
您可以使用以年、月和日为单位表示时间跨度的类

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

大概(或另一个“直到”)参见(关于一些“数学”方法),您可以使用
java.util.Calendar
API例如:尝试以下
int days=days.daysBetween(date1,date2).getDays()为什么不能使用现成的库?这正是你应该做的日期/时间电话。这是作业吗?谢谢,巴兹尔!我要试试这个解决方案,它奏效了!非常感谢。但问题是,有没有一种方法可以在不使用所有这些类(LocalDate类除外)的情况下获得相同的结果?我必须完全用自己的语言编写代码code@AdamRana你是说这是学校课堂上的家庭作业?你的问题应该这样说。
long days = ChronoUnit.DAYS.between( birthdate , today );
Period period = Period.between( birthdate , today );