Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向毫秒日期添加/减去毫秒天数_Java_Date - Fatal编程技术网

Java 向毫秒日期添加/减去毫秒天数

Java 向毫秒日期添加/减去毫秒天数,java,date,Java,Date,我正在通过以下方式将天转换为毫秒:- 天数*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 * 360

我正在通过以下方式将天转换为毫秒:-

天数*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日)尝试进行加法/减法运算时,加法/减法运算给出了不适当的输出


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

25*24*3600*1000等于整数格式的216000000(倍数中的所有参数都是整数),并过度定义此操作

您应该键入cast to long format并将其传递给新的日期构造函数

例如,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();

我建议您不要使用
Date
。那门课设计得很糟糕,而且已经过时很久了,也完全不适合你所做的日期数学。请改用
LocalDate
或中的其他类。您的问题是
int
溢出。
Date d = new Date();

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

Date newDate = c.getTime();