gpt4 book ai didi

java - android中两个日期之间的差异

转载 作者:行者123 更新时间:2023-12-01 13:45:56 25 4
gpt4 key购买 nike

我正在尝试获取当前时间和某一天之间的毫秒差异,比如 2013/12/25

我正在使用此代码

Calendar thatDay = Calendar.getInstance();
thatDay.set(Calendar.DAY_OF_MONTH,25);
thatDay.set(Calendar.MONTH,11); // 0-11 so 1 less
thatDay.set(Calendar.YEAR, 2013);


Calendar today = Calendar.getInstance();

long diff = thatDay.getTimeInMillis() - today.getTimeInMillis();
long days = diff / (24 * 60 * 60 * 1000);

但是这段代码有时会给出正确的值,有时会略有不同..请帮助大家

最佳答案

在实行夏令时的地方,一年中的一天是 23 小时,另一天是 25 小时,因此假设每天都是 24 小时是错误的。官方时区也可能发生变化。

解决问题的“正确”方法是使用精心设计的库,例如 Joda time ,但作为一种快速解决方案,您可以对结果进行四舍五入,以便一个方向或另一个方向几个小时的偏差并不重要:

long days = Math.round((double) diff / (24 * 60 * 60 * 1000);

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

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