当前位置: 首页 > 面试题库 >

如何计算一个时期的天数?

仲霍英
2023-03-14
问题内容

对于以下Period计算:

Period.between(LocalDate.of(2015, 8, 1), LocalDate.of(2015, 9, 2))

结果是:

P1M1D

相当于31天+1天= 32天。

为此Period

Period.between(LocalDate.of(2015, 8, 1), LocalDate.of(2015, 10, 2))

结果是:

P2M1D

这等于:31天(八月)+ 30天(九月)+1(十月)= 62天

java.time包裹中是否有一种方法可以计算出天数Period?我找不到一个。不知道我是否忽略了任何内容,还是只是简单地不存在。


问题答案:

从文档中:

要使用基于日期的值(年,月,日)定义时间量,请使用Period该类。的Period类提供各种获取方法,例如getMonthsgetDays,和getYears。要呈现在时间的单个单元,测量的时间量>如天,可以使用
ChronoUnit.between方法。

>     LocalDate today = LocalDate.now();
>     LocalDate birthday = LocalDate.of(1960, Month.JANUARY, 1);
>  
>     Period p = Period.between(birthday, today);
>     long p2 = ChronoUnit.DAYS.between(birthday, today);
>     System.out.println("You are " + p.getYears() + " years, " +
> p.getMonths() +
>                        " months, and " + p.getDays() +
>                        " days old. (" + p2 + " days total)");
>  

该代码产生类似于以下内容的输出:

   You are 53 years, 4 months, and 29 days old. (19508 days total)


 类似资料:
  • 问题内容: 我正在计算从“开始”到“结束”日期之间的天数。例如,如果起始日期为2010年4月13日,起始日期为2010年5月15日,则结果应为 如何使用JavaScript获得结果? 问题答案:

  • 问题内容: 我有两个输入日期来自Date Picker控件。我选择了开始日期2/2/2012和结束日期2/7/2012。我为此编写了以下代码。 我应该得到6的结果,但是我却得到5。 谁能告诉我如何获得确切的区别? 问题答案: 从Moment文档: 或包含起点: 避免手动打乱时间戳和时区。 根据您的特定用例,您可以 使用和/或强制diff在“端点”处包含或排除(如@kotpal在评论中所建议)。 设

  • 问题 你需要找出两个日期间隔了几年,几个月,几天,几个小时,几分钟,几秒。 解决方案 利用 JavaScript 的日期计算函数 getTime() 。它提供了从 1970 年 1 月 1 日开始经过了多少毫秒。 DAY = 1000 * 60 * 60 * 24 d1 = new Date('02/01/2011') d2 = new Date('02/06/2011') days_pas

  • 问题内容: 如果我有两个日期,获取这两个日期之间的天数的最佳方法是什么? 问题答案: 如果你有两个日期对象,则可以减去它们,从而计算出一个对象。

  • 问题内容: 如果我有一对夫妇的字符串和被设置为(例如)和(意为2011年7月1至2011年7月17日)。我如何计算从开始日期到结束日期的天数?在给出的示例中,将是17天。 问题答案: 这是原始的方法

  • 我正在用C语言编程一个微控制器,它有一个内部RTC,并自动增加一个日计数器(0-65536)。因此,考虑到用户调整的初始日期(DD/MM/YYYY),我需要根据该计数器更新日历。也就是说,我需要知道如何计算x天后的日期。有人知道算法吗?在网上找不到任何东西。 提前谢谢。丹尼尔