Javascript getDate()和getMonth()返回错误的结果
我使用时间戳创建了一个新的日期对象。如果我打印出那个对象,它会返回正确的日期和时间。但是如果我尝试使用getDate()和getTime(),它们会让我返回错误的号码 我的代码: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())
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())