两个日期之间的持续时间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 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

创建两个日期之间所有日期的数组或列表[重复]

Java获取两个日期之间的天数[重复]

Java以这种格式减去两个日期[重复]

如何找到两个日期之间的天数差异[重复]

收集两个日期之间的天数[重复]

在java中计算日期/时间差[重复]