gpt4 book ai didi

java - 将毫秒天数加/减到毫秒日期

转载 作者:行者123 更新时间:2023-12-02 09:51:30 25 4
gpt4 key购买 nike

我正在将天数转换为毫秒作者:-

days * 24 * 60 * 60 * 1000

当我减去/添加一天时会给出正确的输出,例如 -

Date d= new Date(); // Sat May 25 10:16:38 IST 2019

Date d1 = new Date(d.getTime() + 1 * 24 * 3600 * 1000); //Sun May 26 10:16:38 IST 2019

Date d1 = new Date(d.getTime() - 1 * 24 * 3600 * 1000); //Sun May 25 10:16:38 IST 2019

但是当我尝试对今天进行加/减时(例如今天是 5 月 25 日),加/减会给出不适当的输出

Date d= new Date();

Date newDate = new Date(d.getTime() + 25 * 24 * 3600 * 1000); //Tue Apr 30 17:36:35 IST 2019

newDate = new Date(d.getTime() - 25 * 24 * 3600 * 1000); //Wed Jun 19 03:42:10 IST 2019

我不知道为什么会得到这个输出。请帮助我。

最佳答案

25 * 24 * 3600 * 1000 等于 int 格式的 2160000000(多个参数均为 int),超出此操作。

您应该输入强制转换为长格式并将其传递给新的 Date 构造函数。

例如 25 天后:

Date d= new Date();
Date newDate = new Date(d.getTime() + 25L * 24 * 3600 * 1000); //Tue Apr 30 17:36:35 IST 2019

但是 25 天后更好的解决方案是:

Date d = new Date();

Calendar c = Calendar.getInstance();
c.setTime( d );
c.add( Calendar.DAY_OF_YEAR , +25 );

Date newDate = c.getTime();

关于java - 将毫秒天数加/减到毫秒日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56301928/

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