使用SET和NOW()和node.js将数据插入mySQL数据库

使用SET和NOW()和node.js将数据插入mySQL数据库,mysql,node.js,insert,Mysql,Node.js,Insert,目前,这是我的代码,可以正确插入新的_项 var new_item = {id_user: id, id_restaurant: id_rest, type: 3, date: date}; connection.query("INSERT INTO table SET ?", [new_item], function(err, results) { if(err){ ... } ... } 但现在我不想随它一起发送日期,我想使用SET?并执行类似date

目前,这是我的代码,可以正确插入新的_项

var new_item = {id_user: id, id_restaurant: id_rest, type: 3, date: date};

connection.query("INSERT INTO table SET ?", [new_item], function(err, results) {
    if(err){
      ...
    }
    ...
}
但现在我不想随它一起发送日期,我想使用
SET?
并执行类似
date=now()
的操作,基本上我想插入以下内容:

    var new_item = {id_user: id, id_restaurant: id_rest, type: 3};
并使用
date=NOW()-间隔6小时来指定日期


编辑:我发布了我只想要
Now()
,但实际上我想在插入之前设置间隔。

我认为最好使用矩.js

您可以使用Date.now返回当前时间戳(毫秒),因此请确保格式化它。代码如下:

var a = moment(Date.now()).format('YYYY-MM-DD HH:mm:ss');
请让我知道这是否有效

使用NOW()由数据库解释器执行并设置数据库时间

您可以创建一个新变量以在SQL语句中使用,并将所需内容设置为该变量

var new_item1 = {id_user: id, id_restaurant: id_rest, type: 3, date: date};
var new_item2 = {id_user: new_item1.id_user, ...};
connection.query("INSERT INTO table SET ?", [new_item2], function(err, results) {
    if(err){
      ...
    }
    ...
} 
然后可以配置列,将NOW()时间戳设置为默认值

new Date().toISOString().slice(0,10) + " " + new Date().toISOString().slice(11, 19)

'YYYY-MM-DD HH:MM:ss'

相同,我就是这么做的,但我想做一些事情,比如
NOW()-间隔6小时,因为我的服务器不允许我更改系统时间,所以默认值实际上无法解决它。如果我想要某个时区怎么办?我想要中央时间响应。还有另一个叫做“时刻时区”的模块,您必须与“时刻”一起安装,根据他们的文档,类似的内容应该是:矩.tz('2016-01-01','America/Chicago')。格式('z')。。。。。。。查看他们的文档@我不认为我在混合任何东西。。。