Javascript 获取日期问题

标签 javascript getdate

我对 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 gmt 的时间戳(1290384000 是第二天的同一时间)
时间戳是正确的,但我无法理解它给我的日期。
我在任何浏览器中都会遇到这种情况。

我做错了什么?

最佳答案

这里的问题是 Date object在 JavaScript 中不采用 Unix 时间戳(自纪元以来的秒数),它实际上采用自纪元以来的毫秒数。如果您只是将 date 变量乘以 1000,就会得到正确的输出。

Example here

关于Javascript 获取日期问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4371252/

相关文章:

javascript - Jasmine.js 比较数组

Javascript 对象原型(prototype)超出范围

sql - 获取日期 -1 或 2

javascript - 当天数增加时增加下个月的 Javascript 日期对象?

sql - SQL Server 2012 中某些表的 DEFAULT 约束中的 GETDATE

sql - 如何在 SQL Server 中以毫秒为单位打印 GETDATE()?

javascript - Google map API - 使用 Infowindow 控制位置

javascript - 动画表格行滑出或淡入?

javascript - 在 ExtJS 中突出显示/选择网格行

sql - 从我的查询中排除周末