Javascript Typescript中的角度时间比较

Javascript Typescript中的角度时间比较,javascript,angular,Javascript,Angular,在我的角度应用程序中,我需要检查当前时间是否大于下午3点。我使用Date.now()获取当前时间,在构造函数中我有,所以我每分钟都得到更新的时间 setInterval(() => { this.today = Date.now(); }, 1); 现在,我需要检查当前时间是否大于下午3点。我用来计算一天中的小时数。它将在0到23之间返回;因此,15是你要找的下午3点 另外1000*60是以毫秒为单位的1分钟的时间数

在我的角度应用程序中,我需要检查当前时间是否大于下午3点。我使用Date.now()获取当前时间,在构造函数中我有,所以我每分钟都得到更新的时间

 setInterval(() => {
            this.today = Date.now();           
          }, 1);
现在,我需要检查当前时间是否大于下午3点。

我用来计算一天中的小时数。它将在0到23之间返回;因此,15是你要找的下午3点

另外
1000*60
是以毫秒为单位的1分钟的时间数

setInterval(()=>{
this.today=新日期();
if(this.today.getHours()>=15){
console.log('当前时间大于下午3点!');
}
}, 1000*60);我用来计算一天中的小时数。它将在0到23之间返回;因此,15是你要找的下午3点

另外
1000*60
是以毫秒为单位的1分钟的时间数

setInterval(()=>{
this.today=新日期();
if(this.today.getHours()>=15){
console.log('当前时间大于下午3点!');
}

}, 1000*60);要检查当前时间是否大于下午3点,最好使用时刻库。请看一下是如何完成的

检查当前时间是否大于下午3点最好使用矩库。请看一下它是如何完成的

我将使用
设置超时
方法设置报警,而不是在间隔时间内进行测试

当我们知道什么时候可以完成计算时,把计算浪费在时间间隔上是没有意义的

//ES6类
类警报{
构造函数(时间戳){
this.timestamp=时间戳;
这个。_passed=false;
this.callbacks=[];
//尽快测试
setTimeout(this.test.bind(this),0);
}
通过{
把这个还给我;
}
测试(){
if(this.timestamp.getTime()cb());
}否则{
//时差后再次测试
setTimeout(this.test.bind(this),this.timestamp.getTime()-Date.now());
}
归还这个;
}
然后(回调){
如果(此项通过){
回调();
}否则{
this.callbacks.push(回调);
}
归还这个;
}
}
//试验
//10秒后开火
新警报(新日期(Date.now()+5*1000))
。然后(a=>console.log(“5秒过去”))
.then(a=>console.log(“这5秒太棒了!”);
//4秒后开火
新警报(新日期(Date.now()+2*1000))
。然后(a=>console.log(“2秒过去”))
.then(a=>console.log(“2秒是meh!”);
var threeOClock=新日期();
三点钟设定时间(15,0,0);
新警报(三点锁)
.then(a=>console.log(“15个或更多!”)
p{
利润率:200px 0px;
}
//类型脚本类
类警报{
构造函数(时间戳){
this.timestamp=时间戳;
这个。_passed=false;
this.callbacks=[];
//尽快测试
setTimeout(this.test.bind(this),0);
}
通过{
把这个还给我;
}
测试(){
if(this.timestamp.getTime()=Date.now()){
//时差标记通过后再次测试
这个。_passed=true;
//启动所有回调
this.callbacks.forEach(cb=cb());
}
否则{
//时差后再次测试
setTimeout(this.test.bind(this),this.timestamp.getTime()-Date.now());
}
归还这个;
}
然后(回调){
如果(此项通过){
回调();
}
否则{
this.callbacks.push(回调);
}
归还这个;
}
}
//试验
//10秒后开火
新警报(新日期(Date.now()+5*1000))
。然后(a=console.log(“5秒过去”))
.then(a=console.log(“这5秒太棒了!”);
//4秒后开火
var fourSecondAlert=新警报(新日期(Date.now()+2*1000))
。然后(a=console.log(“2秒过去”))
.then(a=console.log(“2秒是meh!”);

我将使用
setTimeout
方法设置报警,而不是在间隔内进行测试

当我们知道什么时候可以完成计算时,把计算浪费在时间间隔上是没有意义的

//ES6类
类警报{
构造函数(时间戳){
this.timestamp=时间戳;
这个。_passed=false;
this.callbacks=[];
//尽快测试
setTimeout(this.test.bind(this),0);
}
通过{
把这个还给我;
}
测试(){
if(this.timestamp.getTime()cb());
}否则{
//时差后再次测试
setTimeout(this.test.bind(this),this.timestamp.getTime()-Date.now());
}
归还这个;
}
然后(回调){
如果(此项通过){
回调();
}否则{
this.callbacks.push(回调);
}
归还这个;
}
}
//试验
//10秒后开火
新警报(新日期(Date.now()+5*1000))
。然后(a=>console.log(“5秒过去”))
.then(a=>console.log(“这5秒太棒了!”);
//4秒后开火
新警报(新日期(Date.now()+2*1000))
。然后(a=>console.log(“2秒过去”))
.then(a=>console.log(“2秒是meh!”);
var threeOClock=新日期();
三点钟设定时间(15,0,0);
新警报(三点锁)
.then(a=>console.log(“15个或更多!”)
p{
利润率:200px 0px;
}
//类型脚本类
类警报{
构造函数(时间戳){
this.timestamp=时间戳;
这个。_passed=false;
this.callbacks=[];
//尽快测试
setTimeout(this.test.bind(this),0);
}
通过{
把这个还给我;
}
测试(){
if(this.timestamp.getTime()=Date.now()){
//时差标记通过后再次测试
这个。_passed=true;
//启动所有回调
this.callbacks.forEach(cb=cb());
}
否则{
//时差后再次测试
setTimeout(this.test.bind(this),this.timest