gpt4 book ai didi

Java日期差异以毫秒为单位

转载 作者:搜寻专家 更新时间:2023-11-01 01:56:26 25 4
gpt4 key购买 nike

我写了下面的代码,但我总是...

4838399999秒数是:59分钟是:59营业时间是:23天数是:7

Calendar xmas = Calendar.getInstance();
final Calendar now = Calendar.getInstance();

xmas.set(Calendar.YEAR, 2011);
xmas.set(Calendar.MONTH, Calendar.DECEMBER);
xmas.set(Calendar.DAY_OF_MONTH, 25);

long milliseconds1 = now.getTimeInMillis();
long milliseconds2 = xmas.getTimeInMillis();
long diff = milliseconds2 - milliseconds1;
System.out.println(diff);
diff = diff / 1000;

final long diffSeconds = diff % 60;
System.out.println("Seconds is : " + diffSeconds);
diff = diff / 60;

final long diffMinutes = diff % 60;
System.out.println("Minutes is : " + diffMinutes);
diff = diff / 60;

final long diffHours = diff % 60;
System.out.println("Hours is : " + diffHours);
diff = diff / 24;

final long diffDays = diff % 24;
System.out.println("Days is : " + diffDays);

谁能看出这个查找圣诞节前的天数、小时数、分钟数和秒数的逻辑有什么问题吗?

最佳答案

当你这样做时:

diff = diff / 1000;

您将永久失去剩余部分。它应该是这样的:

long seconds = diff / 1000; // seconds is milliseconds / 1000
long milliseconds = diff % 1000; // remainder is milliseconds that are not composing seconds.
long minutes = seconds / 60;
seconds = seconds % 60;
long hours = minutes / 60;
minutes = minutes % 60;

最后四个相同的模式继续。

关于Java日期差异以毫秒为单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7946989/

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