gpt4 book ai didi

java - 计算两个时间点的持续时间 ISO 8601

转载 作者:行者123 更新时间:2023-11-29 03:29:48 24 4
gpt4 key购买 nike

我有以下数据:

"startAt": "PT0S","endAt": "PT21M12.667S"

startAt 定义视频的开始和 endAt 视频的结尾。我如何计算这些点之间的时间?我猜它是 ISO 8601,我正在使用 Java,但我尝试的库 (Joda) 不能使用 endAt 参数。

最佳答案

这些是 ISO-8601 period 值(不是时间点)- Joda Time 可以很好地处理它们:

import org.joda.time.*;
import org.joda.time.format.*;

public class Test {
public static void main(String[] args) {
String startText = "PT0S";
String endText = "PT21M12.667S";

PeriodFormatter format = ISOPeriodFormat.standard();
Period start = format.parsePeriod(startText);
Period end = format.parsePeriod(endText);

Duration duration = end.minus(start).toStandardDuration();
System.out.println(duration); // PT1272.667S
System.out.println(duration.getMillis()); // 1272667
}
}

关于java - 计算两个时间点的持续时间 ISO 8601,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18850418/

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