当前位置: 首页 > 知识库问答 >
问题:

如何获取LocalDateTime实例之间的天数,忽略时间

陈茂
2023-03-14

我差点用LocalDateTime引起一个在线bug,直到,例如:

@Test
public void test(){

    DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

    LocalDateTime startTime = LocalDateTime.parse("2022-08-09 11:00:00", df);

    LocalDateTime endTime = LocalDateTime.parse("2022-08-11 10:00:00", df);

    System.out.println(startTime.until(endTime, ChronoUnit.DAYS));
}

我最初认为他应该2天回来,但结果是1天!

然后我看了相应的源代码,我现在似乎明白了:如果超过一天,少于两天,它只会返回一天。

我想问一下,Java或Spring中是否有满足我需求的工具。

我想让它回到2天,这符合人们的直觉。

当然,我可以包装一个实用程序类来实现这一点,但我想知道Java中是否有可用的实现?

我的业务场景是这样的:如果是

例如:

如果开始时间为2022-08-11 10:00:00,则操作将在2022-08-14 10:00:00之后执行。

然而,当我在2022-08-14 11:00:00调用API时,我返回3,这不符合条件

因此,任务仍未执行,导致错误。

共有2个答案

狄兴邦
2023-03-14

只需将< code>startTime设置为与< code>endTime相同的小时、分钟和秒钟即可(反之亦然)。然后比较他们,它会给你2天。

满俊楠
2023-03-14

我的业务场景看起来是这样的:如果当前时间在某个时间的三天内,就会做一些事情。

这听起来很像你在处理日期而不是日期时间。因此,您应该使用< code>LocalDate来代替。

您可以将start TimeendTime转换为LocalDate,如下所示:

System.out.println(
    startTime.toLocalDate().until(endTime.toLocalDate(), ChronoUnit.DAYS)
);

或者更好的是,首先将字符串解析为LocalDate,而不是LocalDateTime

var startTime = LocalDate.parse("2022-08-09 11:00:00", df);

var endTime = LocalDate.parse("2022-08-11 10:00:00", df);

System.out.println(startTime.until(endTime, ChronoUnit.DAYS));
 类似资料:
  • 问题内容: 我想找到两个对象之间的天数差异,如果有日期变化,例如如果时钟从23:59-0:00滴答,则应该有天差。 我写了这个 但是它不起作用,因为如果月差额没有价值,它只会在几天之间产生差额。 问题答案: 在Java 8和更高版本中,我们可以简单地使用java.time类。

  • 我希望以(或)的格式,以60秒为增量生成两个日期之间的日期+时间列表。 到目前为止,我已经能够使用对象生成两个日期之间的所有日期: } 但是,我希望修改它,以便它每次使用对象以60秒的增量生成(即,它将生成1440个值,而不是每天生成一个值,因为假设开始和结束时间只有一天,每小时有60分钟,每天24小时) 谢谢

  • 问题内容: 如何获取JavaScript中两个日期之间的天数?例如,在输入框中指定两个日期: 问题答案: 这是快速的实现,作为解决问题中提出的问题的概念证明。它依赖于这样一个事实,您可以通过减去两个日期来获得两个日期之间经过的毫秒数,这会将它们强制为原始数字值(自1970年初以来的毫秒数)。 您应该注意,“常规”日期API(名称中没有“ UTC”)在用户浏览器的本地时区中运行,因此,如果您的用户所

  • 问题内容: 在MySQL中,我有一个包含几列的表,其中一列是日期列。我希望能够进行查询,这样我就可以获得一个额外的列,该列显示了当前日期(每一行的日期)和上一行的日期之间的天数。 记录的顺序是按日期,而我是按其他列过滤的。 例如 显然,由于第一行没有可比较的内容,因此应显示。 我知道我可以使用MySQL函数获取两个日期之间的差异,例如 我的基本查询是, 但是如何进行查询以直接获得示例中所示的结果?

  • 本文向大家介绍python 获取当天每个准点时间戳的实例,包括了python 获取当天每个准点时间戳的实例的使用技巧和注意事项,需要的朋友参考一下 实例如下所示: 以上这篇python 获取当天每个准点时间戳的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。