嗨,我正在使用 node.js 和kue,我想将工作推迟到未来的时间,我要做的是传递一个像这样的 js 日期对象
var today=new Date();
today.setHours(23,00,00);
var email = queue.create('email', {
title: 'Account renewal required'
, to: 'tj@learnboost.com'
, template: 'renewal-email'
}).delay(today)
.priority('high')
.save();
这很好用,但工作在早上 7 点触发,这是因为我的时区是 UTC + 8,所以日期的默认时区是 UTC。
所以
我尝试对 Node.js 使用moment-timezone模块并做类似的事情。
var today = moment().tz("Asia/Hong_Kong").toDate();
today.setHours(23,00,00);
var email = queue.create('email', {
title: 'Account renewal required'
, to: 'tj@learnboost.com'
, template: 'renewal-email'
}).delay(today)
.priority('high')
.save();
但是我发现当你使用toDate()
它时会忽略时区,所以我被困在这里,我搜索了 2 天,但找不到解决方案。
有什么方法可以实现这一点,请帮助我,在此先感谢。