Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript getDate()和getMonth()返回错误的结果_Javascript_Date_Getdate - Fatal编程技术网

Javascript getDate()和getMonth()返回错误的结果

Javascript getDate()和getMonth()返回错误的结果,javascript,date,getdate,Javascript,Date,Getdate,我使用时间戳创建了一个新的日期对象。如果我打印出那个对象,它会返回正确的日期和时间。但是如果我尝试使用getDate()和getTime(),它们会让我返回错误的号码 我的代码: var textDate = new Date(timestamp); console.log(timestamp); console.log(textDate); console.log(textDate.getDate(),textDate.getMonth(),textDate.getFullYear())

我使用时间戳创建了一个新的日期对象。如果我打印出那个对象,它会返回正确的日期和时间。但是如果我尝试使用getDate()和getTime(),它们会让我返回错误的号码

我的代码:

var textDate = new Date(timestamp);

console.log(timestamp);
console.log(textDate);  
console.log(textDate.getDate(),textDate.getMonth(),textDate.getFullYear());
我的控制台结果:

1476483081000
Date 2016-10-14T22:11:21.000Z
15 9 2016
如何从textDate变量中获取正确的日期和月份?

getMonth()方法返回从0到11的月份


打印日期时,它取决于时区。如果您所在的时区距离GMT还有2小时,那么22:11可能会切换到新的一天,这可能就是getDate()返回dext day的原因。

您得到的数字是正确的,月份是以零为基础的,因此10月份实际上是
9
,并且日期可能会根据时区进行调整重复:月份是正确的。在使用getUTCDate()和getUTCHours()之后,日期问题得到了解决。非常感谢。时区有问题。已使用getUTCDate()解析。谢谢如果时区困扰您,请首先将其从时间戳中删除:
new Date(timestamp-new Date().getTimezoneOffset())