如何设置Node-adodb时区以在正确的时区中检索日期时间

时间:2019-02-12 02:53:11

标签: sql node.js electron adodb

我正在电子应用程序中使用node-adodb。我查询了mdb文件,但是在错误的时区中获取了datetime。如何设置时区或使用错误的方法查询?

我的日期格式在mdb文件中

  • USERID CHECKTIME
  • 421 2/11/2019 11:54:19 AM
  • 433 2019年2月11日上午11:54:18
  • 431 2019年2月11日上午11:54:17

我正在使用带有电子的node-adodb https://www.npmjs.com/package/node-adodb

我想使用lastupdatetime从mdb文件中检索检查时间和徽章编号,并使用lastupdatetime将其保存在另一个表中。经过努力,我能够从mdb文件中检索日期时间。这是我的代码

var connection = this.adoDb.open('Provider=Microsoft.JET.OLEDB.4.0;Data Source=D:\\SIMS\\bio_att\\att2000.mdb');
let ab = '2019/02/11:11:10:00';
connection
.query("SELECT CHECKINOUT.CHECKTIME,USERINFO.Badgenumber FROM CHECKINOUT INNER JOIN USERINFO ON CHECKINOUT.USERID = USERINFO.USERID WHERE format(CHECKINOUT.CHECKTIME,'yyyy/mm/dd:HH:mm:ss') >=  '"+ab+"'")
.then(data => {
    console.log(JSON.stringify(data, null, 2));
})
.catch(error => {
    console.error(error);
});

当我查询日期时间时,它将返回正确的数据,但时区错误。有什么办法可以获取正确的时区? 返回数据正确 但是时区错了

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我改变了

“ SELECT CHECKINOUT.CHECKTIME”

“ SELECT格式(CHECKINOUT.CHECKTIME,'yyyy / mm / dd HH:mm:ss')”

,现在它返回正确时区的日期。 如果有人正在寻找它,希望对我有帮助

let ab = '2019/02/11 11:10:00';
connection
.query("SELECT format(CHECKINOUT.CHECKTIME,'yyyy/mm/dd HH:mm:ss') ,USERINFO.Badgenumber     FROM CHECKINOUT INNER JOIN USERINFO ON CHECKINOUT.USERID = USERINFO.USERID WHERE         format(CHECKINOUT.CHECKTIME,'yyyy/mm/dd HH:mm:ss') >=  '"+ab+"'")
.then(data => {
    this.dData = data;
    console.log(JSON.stringify(data, null, 2));
    this.ldsRllrDisplay = 'none';
})
.catch(error => {
    console.error(error);
});