こんにちは、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 時にトリガーされます。これは、timeZone が 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日間たくさん検索しましたが、解決策が見つかりませんでした。
これを達成する方法はありますか、助けてください、よろしくお願いします。