Javascript Date()毫秒差异没有加起来

时间:2013-01-09 22:19:18

标签: javascript function date

我创建了this JSFiddle to illustrate my question

在这个例子中似乎10 - 00 = 8。

一个简单的问题:为什么#ha包含8个?我误解了什么吗?

var a4 = new Date(2012,00,00,00,00,00,0010);
var b4 = new Date(2012,00,00,00,00,00,0000);
var c4 = a4-b4;
var d4 = document.getElementById("ha");
d4.innerHTML=c4;

2 个答案:

答案 0 :(得分:10)

当整数文字以0开头时,它被解释为八进制文字,而不是十进制文字。文字0010与文字8具有相同的值。删除前导零。

答案 1 :(得分:1)

在数字上使用前导0是向处理器发出的信号,表示您正在使用八进制(基数为8)的数字,方法与0x表示十六进制相同。

0010 - 0 == 010 == 8 in base ten
10 - 0 == 10 == 10 in base ten
0x10 - 0 == 0x10 == 16 in base ten