从MySQL获取日期
我正在MySQL Workbench上存储日期,值为“2018-06-13”和“2018-07-07”。当我从nodejs服务器获得它时,我感到有些困惑:从MySQL获取日期,mysql,node.js,Mysql,Node.js,我正在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.
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);
有人知道为什么服务器上的日期是13和7,但在服务器上收到时它被1减去了吗?这里的答案很简单,服务器返回的是UTC。
Date(results[i].Date)
返回的是UTC+或-UTC与当前时区之间的时差。
我跑
结果是
"Tue Jul 17 2018 16:10:44 GMT+0530 (India Standard Time)"
它是IST中的时间,即UTC+5小时30分钟“getDate()方法根据本地时间返回指定日期的月份日期。”@MarkMeyer这并不能完全解释它。我只是想知道为什么mysql上的日期和我在服务器上得到的日期之间存在差异。这个列是真的
date
还是真的DATETIME
还是TIMESTAMP
?这几乎肯定是一个时区问题。它是日期,我将mysql的时区设置为我的本地时区,但它仍然是;相同的
Date('2018-06-12T17:00:00.000Z')
"Tue Jul 17 2018 16:10:44 GMT+0530 (India Standard Time)"