gpt4 book ai didi

java - 两个日期之间的差异 (Android)

转载 作者:行者123 更新时间:2023-12-01 07:20:39 24 4
gpt4 key购买 nike

我需要获取两个日期之间的时间。比方说dateStart = 1470712122173dateStop = 1470712127320 。这两个日期之间的差异等于 5147所以,根据这个我希望得到一个答案= 5秒,但我看到19:00:05 。这19个小时从哪里来?

毫秒代码 ( = 5147) -> 时间:

private string foo(long dateStart, long dateStop) {
long diff = dateStop - dateStart;
DateFormat simple = SimpleDateFormat.getTimeInstance();
Date date = new Date(diff);
return simple.format(date);
}

感谢您的解释。

最佳答案

您需要正确理解基本概念。当您获取两个 Date 对象之间的差异时,您会获得两个时间点之间的持续时间,尝试将差异视为另一个时间点是没有意义的。

下面是一个使用 Java 8 时间 API 获取两个时间点之间的差异的示例 (java.time.Instant):

import java.time.Duration;
import java.time.Instant;

public class TimeDifferenceSample {

static Duration diff(Instant start, Instant end) {
return Duration.between(start, end);
}

public static void main(String [] args) {
long start = 1470712122173L;
long end = 1470712127320L;

Duration dur = diff(Instant.ofEpochMilli(start), Instant.ofEpochMilli(end));
System.out.println(dur.getSeconds() + " seconds");
}
}

输出:

5 seconds

对于Android,我不是专家,但你可以查看The Joda Time Project ,它提供了类似的功能。我还发现了一个Android verion here .

关于java - 两个日期之间的差异 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38841465/

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