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

正在存储两个LocalDateTime值[duplicate]之间的差值

马泓
2023-03-14

我正在尝试保存两个LocalDateTimes之间的差异。所以实际上,我正在寻找一个类似Period的类,它允许我将日期保存为时间(因为Period只允许我保存日期)。

哪个班会让我这么做?

共有1个答案

郜彬
2023-03-14

正确的做法是像本答案中那样,按时间单位分解差值。

另一种选择是保存期间中的日期差和持续时间中的时间差,但这在某些情况下可能导致负单位:

LocalDateTime now = LocalDateTime.now();
LocalDateTime before = now.minusMonths(1).minusDays(5).minusHours(2).minusMinutes(30);
Period p = Period.between(before.toLocalDate(), now.toLocalDate());
Duration d = Duration.between(before.toLocalTime(), now.toLocalTime());

System.out.println(p + " + " + d);

输出:P1M5D+PT2H30M

if (d.isNegative()) {
  p = p.minusDays(1);
  d = d.plusDays(1);
}
 类似资料:
  • 问题内容: 我试图计算两者之间的差异。 输出必须为格式。这是我写的: 我得到的输出是。我已经从该网站检查了我的结果(带有)。以下屏幕截图显示了输出: 我很确定月份值后面的字段在我的代码中出了错。任何建议都将非常有帮助。 更新资料 我已经从另一个网站测试了我的结果,但是得到的结果却有所不同。在这里是:计算两个日期之间的持续时间(结果:29年,8个月,24天,12小时,0分钟和50秒)。 更新资料 由

  • 我正在尝试计算两个之间的差异。 输出的格式需要为。以下是我所写的内容: 我得到的输出是。我已从该网站检查了我的结果(值和)。下面的截图显示了输出: 从这个链接中,应该是。所以算法也需要处理负数。 注意问题不是哪个站点给了我什么结果,我需要知道正确的算法,需要有正确的结果。

  • 我将startdate和endDate作为用户的输入,将DateTime作为Flutter(Dart)中的datatype。这些字段将以时间戳格式存储在Firestore中。现在我们需要在客户端显示endDate和startDate的差异,这可以是一个实时计时器,格式为“13小时45分钟”,然后在一些分钟后,它应该是“13小时42分钟”。

  • 我编写了一个简单的脚本,它接受任意数量的参数来演示< code>$@和< code>$*之间的区别: 在我做的 CLI 上 这就是打印出来的 因为它们是相同的,这是否意味着等于?还是我遗漏了一点?

  • 我正在尝试解决此问题: 一位物理教授给班上的学生做项目。学生们必须组成一个两人小组来做这个项目。教授让学生来决定队伍。一个班级的学生人数将是偶数。 每个学生都有自己的知识水平。它告诉每个学生有多少知识。一个团队的知识水平是两个学生知识水平的总和。 学生们决定组成小组,这样知识最高的团队和知识最低的团队之间的差异就最小了。 投入 输入的第一行将包含测试用例的数量t;在接下来的t行中,第一个数字是n,