【发布时间】:2010-07-17 18:51:23
【问题描述】:
使用 标准 Java 库在 Java 中设置持续时间的适当方法是什么?日期()?日历()?例子?
感谢和干杯 呃
【问题讨论】:
标签: java datetime types duration
使用 标准 Java 库在 Java 中设置持续时间的适当方法是什么?日期()?日历()?例子?
感谢和干杯 呃
【问题讨论】:
标签: java datetime types duration
Java 日期和时间有一个事实上的标准 - JodaTime。它有Duration。 JodaTime API 被认为比Date 和Calendar 好得多。
当然,您也可以将持续时间存储在 long 中 - 以毫秒为单位。
【讨论】:
long。迟早有人会怀疑它们是秒还是毫秒或其他东西,并且会浪费时间找出来。这些天也不要使用 Joda-Time 来编写新代码,它已经过时了。请使用java.time.Duration。查看其他答案。
java.time.Duration 以ISO-8601 standards 为蓝本,并作为JSR-310 implementation 的一部分引入。
快速演示:
import java.time.Duration;
import java.time.LocalTime;
public class Main {
public static void main(String[] args) {
System.out.println(Duration.ofNanos(1234567890));
System.out.println(Duration.ofMillis(123456789));
System.out.println(Duration.ofSeconds(12345678));
System.out.println(Duration.ofMinutes(1234567));
System.out.println(Duration.ofHours(123456));
System.out.println(Duration.ofDays(12345));
System.out.println(Duration.between(LocalTime.of(1, 2, 3), LocalTime.of(4, 5, 6)));
}
}
输出:
PT1.23456789S
PT34H17M36.789S
PT3429H21M18S
PT20576H7M
PT123456H
PT296280H
PT3H3M3S
从 Trail: Date Time 了解现代日期时间 API。
【讨论】: