gpt4 book ai didi

java - 比较 MM :SS format 中的两个时间

转载 作者:行者123 更新时间:2023-12-03 21:19:45 24 4
gpt4 key购买 nike

我希望以 MM:SS 格式比较两次,并在几秒钟内得到这两次之间的差异

例如时间 1 = 20:28, 时间 2 = 20:18

相差-10秒

我尝试使用以下方法来比较时间

        LocalTime start = LocalTime.parse( "20:28" );
LocalTime stop = LocalTime.parse( "20:18" );
Duration duration = Duration.between( start, stop );
System.out.println(duration.getSeconds());

实际:这将打印 -600 秒作为输出,因为时间是以 HH: MM 格式解析的。

预期 -10

考虑到 MM:SS 格式,是否有任何其他方法可以让我获得预期的输出。

最佳答案

由于 LocalTime 似乎无法使用 mm:ssDateTimeFormatter 模式,您也可以制作一个简短的 static 被调用的辅助方法。

此方法将所有解析的默认小时设置为相同的值,这不会在其他任何地方公开 "00:",如果不小心输入了不同的小时,则可能容易出错。

这将确保分钟和秒的任何 Duration.between() 都是准确的:

public static void main(String [] args) {
LocalTime start = parseHelper("20:28");
LocalTime stop = parseHelper("20:18");
Duration duration = Duration.between(start, stop);
System.out.println(duration.getSeconds());
}

private static LocalTime parseHelper(String str) {
return LocalTime.parse("00:" + str);
}

输出:

-10

编辑:

Here are some docs这强化了 hoursLocalTime 中不是可选的,显然 minutes 也不是。

在这里您可以看到它们在 toString() 方法中列出了可能的值。

The output will be one of the following ISO-8601 formats:

HH:mm
HH:mm:ss
HH:mm:ss.SSS
HH:mm:ss.SSSSSS
HH:mm:ss.SSSSSSSS

关于java - 比较 MM :SS format 中的两个时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58000082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com