Javascript getTime()函数显示不正确的值?

时间:2012-03-28 10:07:58

标签: javascript gettime

我遗失了一些东西,但我找不到任何在线提示。当我使用Javascript的getTime()函数时,似乎不计算1970年,01年,01年,0年,0年,0年,0年,即1970年午夜,但是从1969年,12年,01年,1年,0年,0年,0年

我设置了以下内容:

var d = new Date(1970, 01, 01, 0, 0, 0, 0);
alert(d.getTime());

在我的脑海里想到我应该得到0(因为没有时间过去)。但我得到2674800000毫秒

如果我设置:

var d = new Date(1969, 12, 01, 1, 0, 0, 0);
alert(d.getTime());

我得到0毫秒

我在W3C网站上也使用了该功能,结果是一样的。

此外,当我计算两个日期之间的差异时 - 现在和今年年初,它不会返回正确的值:

var Now = new Date ();
var Begin = new Date (Now.getFullYear(), 01, 01);
var dif = Now.getTime() - Begin.getTime();
alert(dif);

我得到相当于约的毫秒数。 59天

我很确定我没有看到一些东西,因为我还是一个编程幼儿。 我感谢任何评论

1 个答案:

答案 0 :(得分:2)

您有两个错误会导致您看到的错误。首先,月份为零索引,因此1月对应于0(正如您可以从示例here中看到的2010年1月14日示例)。其次,您的浏览器设置为某个时间,这会导致错误。我在PST,所以这就是我得到的。

a = new Date("January 1, 1970")
  Thu Jan 01 1970 00:00:00 GMT-0800 (PST)
a = new Date("January 1, 1970 GMT")
  Wed Dec 31 1969 16:00:00 GMT-0800 (PST)
a.getTime()
  0