有没有办法测试未来的事件?Node.js



我想测试未来的事件。

理论上,这个代码应该是有效的。我的问题是,当我将日期设置为2020-12-25时,它会显示时间戳越界。是代码有问题还是使用了时区系统?我还禁用了自动时区。请告诉我如何测试这个。在我看来,它是有效的,因为它正在执行第一个条件,即if (d < d1) { ... }。我唯一不能理解的是它是否会改变条件。

var config = require("./config.js");
var Twit = require('twit');
var TT = new Twit(config);
var d = new Date();
var d1 = new Date('2020-12-25');
var d2 = new Date('2020-12-26');
var d3 = new Date('2020-12-27');
console.log(d, d.getDate()); // output: 2020-12-11T08:55:45.619Z, 11
console.log(d1, d1.getDate()); // output:2020-12-25T00:00:00.000Z, 25
console.log(d2, d2.getDate()); // output:2020-12-26T00:00:00.000Z, 26
console.log(d3, d3.getDate()); // output:2020-12-27T00:00:00.000Z, 27
if (d < d1) { 
var calc = d1.getDate() - d.getDate();
var tweet = calc + " days left until Christmas! Ho Ho Ho!❄⛄🎄"
}
else if(d >= d1 && d < d2) { 
var tweet = "Today is Christmas! Ho Ho Ho!❄⛄🎄 "
}
else if(d >= d2 && d < d3) {
var tweet = "Today is also Christmas! Ho Ho Ho! ❄⛄🎄"
}
//else { console.log(tweet);}
tweetIt();
setInterval(tweetIt, 86400000)
function tweetIt(){
TT.post('statuses/update', {status: tweet}, tweeted);
function tweeted(err, data, response) {
if (err) {
console.log(err);
} else {
console.log('Success: ' + data.text);
//console.log(response);
}
};

}

tweetIt();
setInterval(tweetIt, 86400000)
function tweetIt(){
TT.post('statuses/update', {status: tweet}, tweeted);
function tweeted(err, data, response) {
if (err) {
console.log(err);
} else {
console.log('Success: ' + data.text);
//console.log(response);
}
};

}

希望这能有所帮助:如果您碰巧使用JS,比如创建另一个应用程序的Node.JS版本,请记住phpTime((不等于jsDate.now((对于这种情况下的时间戳,您需要使用Math.floor(Date.now((/1000(。

这也可能很愚蠢,但请检查时间格式:2020-12-25(确保其y-m-d(可能被设置为(y-d-m(或其他什么。

最新更新