基于Date()的If-else语句



我有一个脚本,它根据一天中的时间编写一个if-else语句。我在用javascript从Date()函数创建时间戳时遇到了问题,不得不编写我认为非常冗长的代码。我首先必须创建一个合适的字符串(因为我需要"0"出现在数字<10之前,这样我就可以得到一个整数,即12:04的1204,然后将if-else语句建立在那个奇怪的concat上,因为我首先必须解析它有一个字符串,然后将其解析为int。

jsfiddething

 var minExtra = min < 10 ? '0' + min : min;
 var intConcat = (hour).toString() + minExtra;
 var now = parseInt(intConcat);

我试着寻找解决方案,但我不认为我在寻找正确的术语

我的问题基本上是,这个if-else语句是否可以在没有详细代码的情况下编写,并基于实际时间而不是时间的数字表示?

这个小公式怎么样:

date.getHours() * 100 + date.getMinutes()

为了减少大部分冗长,您可以将方法重写为:

$('button').click(function () {
     var now = (function(){return this.getHours()*100 + this.getMinutes();})
                .call(new Date);
     alert( now < 1200 && '1' || now < 1300 && '2' || now < 1400 && '3')
});

JsFiddle

最新更新