if if语句基于Date()

时间:2013-08-30 10:29:14

标签: javascript datetime

我有一个脚本,根据一天中的时间写一个if else语句。我在javascript中从Date()函数创建时间戳时遇到了麻烦,我不得不写出我认为非常详细的代码。我首先必须创建一个正确的字符串(因为我需要在数字< 10之前出现“0”以便我可以获得一个圆形时间数字,即12:04的1204,然后将if else语句基于该concat上是奇怪的,因为我首先必须解析它有一个字符串然后解析为int。

jsfiddlething

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

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

我的问题基本上是,这个if if语句是否可以写,没有,似乎是冗长的代码,并且if if语句基于实际时间而不是时间的数字表示?

2 个答案:

答案 0 :(得分:4)

这个小公式怎么样:

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

答案 1 :(得分:1)

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

$('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