我在 Electron 应用程序中使用node-adodb。我查询了mdb文件,但是在错误的时区中获取了datetime。如何设置时区或使用错误的方法查询?
我的日期格式在MDB文件中
我正在使用带有 Electron 的node-adodb
https://www.npmjs.com/package/node-adodb
我想使用lastupdatetime从mdb文件中获取checktime和badgenumber,并使用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);
});
当我查询datetime时,它将返回正确的数据,但时区错误。有什么方法可以获取正确的时区?
返回数据正确
但是时区错误
最佳答案
我找到了解决方案。我变了
“选择CHECKINOUT.CHECKTIME”
到
“选择格式(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);
});
关于sql - 如何设置Node-adodb时区以在正确的时区中检索日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54642163/