输入'数字'不能指定类型'日期' - 打字稿不编译

时间:2016-09-11 09:15:35

标签: javascript jquery typescript

我为jquery计时器插件获得了以下代码。编译器给出了错误:"键入' number'不能分配到'日期'"

$(function(){
    var note = $('#note'),
        ts = new Date(2012, 0, 1),
        newYear = false;

    if((new Date()) > ts){
        ts = (new Date()).getTime() + 24*60*60*1000; //counting 24 hours
        newYear = false;
    }   

});


        });

    };

2 个答案:

答案 0 :(得分:8)

您需要创建Date的新实例:

if((new Date()) > ts){
    ts = new Date((new Date()).getTime() + 24*60*60*1000);
    newYear = false;
}

这种方式为ts分配了一个具有给定时间的新Date 此外,现在不需要创建Date的两个实例,您可以将它放在变量中并重用它:

$(function(){
    var note = $('#note'),
        ts = new Date(2012, 0, 1),
        newYear = false,
        now = new Date();

    if(now > ts){
        ts = new Date(now.getTime() + 24*60*60*1000);
        newYear = false;
    }   
});

答案 1 :(得分:-3)

let oneweek = new Date((new Date()).setDate(today.getDate() + 7));
let twoweek = new Date((new Date()).setDate(today.getDate() + 14));
let onemonth = new Date((new Date()).setDate(today.getMonth() + 1));
let threemonth = new Date((new Date()).setDate(today.getMonth() + 3));