gpt4 book ai didi

Java Date 给出的时差不正确,提前 1 小时

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:14:42 26 4
gpt4 key购买 nike

我的时差显示不正确的输出,我正在尝试计算 startTime 和 endTime 之间的时差。

    Date time1, time2;
long difference;

SimpleDateFormat df = new SimpleDateFormat("HH:mm");

public Time(String startTime, String endTime)
{
this.startTime = startTime;
this.endTime = endTime;

time1 = new Time("16:30", "18:00"); //example

try
{
time1 = df.parse(startTime);
time2 = df.parse(endTime);
}
catch(Exception e) {
System.out.println("invalid time");
}
}

public String getDifference()
{
difference = (time2.getTime() - time1.getTime());
return df.format(difference); //output = 02:30, should be 01:30
}

我知道Joda-Time可以使这更容易,但我不应该使用任何其他库。

最佳答案

它正确计算出差异为 5400000 毫秒(1.5 小时),但由于我认为是时区的原因,将其格式化为 02:30。

在您的构造函数中添加此行以将日期格式设置为 UTC 时区,它应该如您所愿输出 01:30:

df.setTimeZone(java.util.TimeZone.getTimeZone("UTC"));

关于Java Date 给出的时差不正确,提前 1 小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22282263/

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