gpt4 book ai didi

java - 如何减去两个时间值?

转载 作者:行者123 更新时间:2023-12-01 17:42:31 25 4
gpt4 key购买 nike

我有两个时间 STRING 值:

First : 1:12.203
Second : 1:04.009

“.”之后是毫秒

我怎样才能得到这两个值的减法?我需要 0:08.194 或类似的值。

我不知道要使用哪些变量以及它如何实现,所以我很高兴获得您的帮助和正确的代码段。

最佳答案

您应该使用Duration来存储这些东西。没有很好的声明性方法来解析您的自定义格式,但您可以使用正则表达式轻松地完成此操作。

private static Duration parseDuration(String duration)
{
Pattern pattern = Pattern.compile("(\\d+):(\\d{2})\\.(\\d{3})");
Matcher matcher = pattern.matcher(duration);

if (matcher.matches())
{
long mins = Long.valueOf(matcher.group(1));
long secs = Long.valueOf(matcher.group(2));
long millis = Long.valueOf(matcher.group(3));

return Duration.ofMinutes(mins).plusSeconds(secs).plusMillis(millis);
}
throw new IllegalArgumentException("Invalid duration " + duration);
}

使用示例:

Duration diff = parseDuration("1:12.203").minus(parseDuration("1:04.009"));

如果您想使用相同的格式很好地格式化差异,请参阅 How to format a duration in java? (e.g format H:MM:SS)

关于java - 如何减去两个时间值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59271179/

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