gpt4 book ai didi

java - 从毫秒到天的 TimeUnit 转换对我不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:05:44 38 4
gpt4 key购买 nike

我试图计算两个时间戳的天数之差,TimeUnit 为我返回了完全错误的结果。

这是我的代码:

long ts = 1522242239952L;
long now = 1527274162820L;
long difference = now - ts;
int ageInDays = (int) TimeUnit.MILLISECONDS.convert(difference, TimeUnit.DAYS);
int ageInDays2 = (int) (difference/(1000 * 60 * 60 * 24));
System.out.println(ageInDays);
System.out.println(ageInDays2);

输出是:

-1756844032
58

为什么 TimeUnit 计算如此不正确?

最佳答案

因为您正在反向使用 TimeUnit.convert。尝试

TimeUnit.DAYS.convert(difference, TimeUnit.MILLISECONDS);

或者只是

TimeUnit.MILLISECONDS.toDays(difference);

引用:https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/TimeUnit.html#convert(long,%20java.util.concurrent.TimeUnit)

关于java - 从毫秒到天的 TimeUnit 转换对我不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50535371/

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