两个日期之间的持续时间Java [重复]
Posted
技术标签:
【中文标题】两个日期之间的持续时间Java [重复]【英文标题】:Duration between two dates Java [duplicate] 【发布时间】:2020-07-15 20:40:25 【问题描述】:我有 DateTime 字符串 2020-04-03 01:29:27 和 2020-04-03 01:29:37 我想以小时为单位获得持续时间。我尝试了很多东西,但找不到任何帮助
【问题讨论】:
【参考方案1】:我尝试了很多东西,但找不到任何帮助
做这些“很多事情”包括consulting the javadoc,你会发现:
// assuming both dates are in d1 and d2
Duration duration = Duration.between(d1, d2);
long hours = duration.toHours();
希望对您有所帮助。
【讨论】:
【参考方案2】:java.time
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main
public static void main(String[] args)
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dt1 = LocalDateTime.parse("2020-04-03 01:29:27", formatter);
LocalDateTime dt2 = LocalDateTime.parse("2020-04-03 01:29:37", formatter);
System.out.printf("%.4f Hour(s)", Duration.between(dt1, dt2).toSeconds() / 3600.0);
输出:
0.0028 Hour(s)
从 Trail: Date Time 了解有关 java.time API 的更多信息。
无论出于何种原因,如果您必须坚持使用 Java 6 或 Java 7,您可以使用 ThreeTen-Backport,它将大部分 java.time 功能向后移植到 Java 6 和 7。 如果您正在为一个 android 项目工作,并且您的 Android API 级别仍然不符合 Java-8,请检查 Java 8+ APIs available through desugaring 和 How to use ThreeTenABP in Android Project。【讨论】:
还有其他人抱怨它,嗯?以上是关于两个日期之间的持续时间Java [重复]的主要内容,如果未能解决你的问题,请参考以下文章