3

当我尝试使用 JavaScript 从时间戳获取日期时,我得到错误的年份有五位数。

这是代码:

var myTimeStamp = -2099709424;
var d = new Date(myTimeStamp * 1000);
var day = d.getDate(); // Returns correct date
var month = d.getMonth() + 1; // Returns correct month
var year = d.getFullYear(); // **Returns five digits**
var year1 = d.getYear(); // **Returns five digits**
var hour = d.getHours(); // Returns correct hours
var min = d.getMinutes();  // Returns correct minutes
var sec = d.getSeconds();  // Returns correct seconds

这里有什么问题?

4

3 回答 3

6

它返回 5 位数字,因为你乘以 1000,没有必要这样做,因为如果你已经有毫秒

myTimeStamp = 1367994858000;

如你所说。请注意,它myTimeStamp应该是一个数字,而不是一个字符串。

于 2013-05-09T10:37:00.600 回答
2

正如阿尔贝托所说:

var myTimeStamp = "1367994858000";

alert((new Date(+myTimeStamp).toUTCString())); // Wed, 08 May 2013 06:34:18 GMT

您的时间值似乎已经是毫秒。

于 2013-05-09T10:45:42.600 回答
0

如果var myTimeStamp = -2099709424;然后确保您在输入中有 long intdate

var d = new Date(myTimeStamp);

然后尝试获取d.getFullYear();

于 2013-05-09T11:25:59.693 回答