我有一个脚本,根据一天中的时间写一个if else语句。我在javascript中从Date()函数创建时间戳时遇到了麻烦,我不得不写出我认为非常详细的代码。我首先必须创建一个正确的字符串(因为我需要在数字< 10之前出现“0”以便我可以获得一个圆形时间数字,即12:04的1204,然后将if else语句基于该concat上是奇怪的,因为我首先必须解析它有一个字符串然后解析为int。
var minExtra = min < 10 ? '0' + min : min;
var intConcat = (hour).toString() + minExtra;
var now = parseInt(intConcat);
我试图寻找解决方案,但我不认为我正在寻找正确的术语
我的问题基本上是,这个if if语句是否可以写,没有,似乎是冗长的代码,并且if if语句基于实际时间而不是时间的数字表示?
答案 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')
});