Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.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
Javascript 日期对象的整数加减问题_Javascript - Fatal编程技术网

Javascript 日期对象的整数加减问题

Javascript 日期对象的整数加减问题,javascript,Javascript,我在玩原生日期对象,我意识到减法是有效的(返回一个整数,表示两个日期之间的毫秒总数),但加法只是通过字符串连接将它们组合起来。类似地,将整数添加到日期(例如,我希望获得3000毫秒后的时间)将返回字符串,而将整数减去日期则有效 只是想知道这是否是预期的行为,以及我是否遗漏了什么?字符串的+运算符是重载的,-不是。 你需要使用 var newVal=parseInt(new Date().getTime()) + 1000 您只需将当前日期转换为毫秒,添加所需的增量,然后将其转换回日期时间格式,

我在玩原生日期对象,我意识到减法是有效的(返回一个整数,表示两个日期之间的毫秒总数),但加法只是通过字符串连接将它们组合起来。类似地,将整数添加到日期(例如,我希望获得3000毫秒后的时间)将返回字符串,而将整数减去日期则有效


只是想知道这是否是预期的行为,以及我是否遗漏了什么?

字符串的
+运算符是重载的,
-
不是。 你需要使用

var newVal=parseInt(new Date().getTime()) + 1000

您只需将当前日期转换为毫秒,添加所需的增量,然后将其转换回日期时间格式,就可以得到增量日期:

var d = new Date();
alert("Current DateTime: " + d);
var milliseconds = d.getTime();  //this will convert current date  into milliseconds.. 

//Now youw want to progress the date by 3000ms.. simply add it to the current date time..
milliseconds += 3000;

d = new Date(milliseconds); //your new incremented date

alert("After 3000ms: " + d);

想看看您尝试了什么。谢谢,这很有意义!