我正在mysql workbench上存储值为“2018-06-13”和“2018-07-07”的日期。当我从nodejs服务器得到它时,我有一些困惑:
con.query(stm, function(err, results){
if (err) throw err;
for(var i = 0; i < results.length; i++){
var d = new Date(results[i].date);
console.log(d);
console.log(d.getDate())
}
console.log(results);
我得到的是:
2018-06-12T17:00:00.000Z
13
2018-07-06T17:00:00.000Z
7
[ RowDataPacket {
date: 2018-06-12T17:00:00.000Z},
RowDataPacket {
date: 2018-07-06T17:00:00.000Z } ]
有人知道为什么服务器上的日期是13和7,但在服务器上收到时却被1减去了吗?
1条答案
按热度按时间5ssjco0h1#
这里的答案很简单,服务器返回的是utc。什么
Date(results[i].date)
返回utc+或-utc和当前时区之间的时差。我跑了结果是
这是以ist为单位的时间,即utc+5小时30分钟