我对 javascript 的 getDate 函数有一个非常奇怪的问题。在某些函数的开始,我使用以下方法创建了一个 Date 对象:
var day = new Date(date);
其中date
是一个unix时间戳。
我没有更改日期对象,但过了一段时间我尝试获取该对象的月份日期,但day.getDate()
一直给我错误的值。
例如:
alert(day.getTime() + "-" + day.getDate() + "-"+ day.getMonth() +"-" + day.getFullYear() + "-" + day.getHours() + "-" + day.getMinutes() + "-" + day.getSeconds());
给我以下结果:1290297600-15-0-1970-23-24-57
在其他时候,结果是:1290384000-15-0-1970-23-26-24
这是奇怪的部分,如果您查找 unixtimestamp 1290297600,您会看到这是 2010 年 11 月 21 日格林威治标准时间 00:00:00 的时间戳(1290384000 是第二天,同一时间)
时间戳是正确的,但是我无法理解它给我的日期。
在任何浏览器中都会发生这种情况。
我究竟做错了什么?