我现在有以下代码:
var d = new Date();
var curr_hour = d.getHours();
var curr_minute = d.getMinutes();
var curr_time = curr_hour + ":" + curr_minute;
var open_time = "17:00";
if(Date.parse ( curr_time ) > Date.parse ( open_time )){
alert("Webshop is open");
} else {
alert("Webshop is closed.");
}
代码应该做的是..如果当前时间大于17:00发送警报,如果没有,则发送另一个警报..我现在得到的是它已关闭。
答案 0 :(得分:6)
您不需要所有解析,您已经知道getHours()
方法!
if(new Date().getHours() >= 17)
......就是这样!
答案 1 :(得分:1)
您不能只以hh:mm
格式解析时间。给它一个任意日期(在本例中为2012年1月1日),使其成为一个完整的日期对象。只要两者的日期相同,日期就无关紧要了。
if(Date.parse('01/01/2012 ' + curr_time) > Date.parse ('01/01/2012 ' + open_time)){
console.log("open");
}else{
console.log("closed");
}
更简单的方法是比较你所拥有的小时和分钟。
curr_hour > open_hour && curr_minute > open_minute
答案 2 :(得分:0)
为什么要创建日期对象?只需使用基本数学。
var d = new Date();
var curr_hour = d.getHours();
var curr_minute = d.getMinutes();
var curr_time = curr_hour + curr_minute/60;
var open_time = 17;
var openClosed = curr_time > open_time ? "Open" : "Closed";
alert("Webshop is " + openClosed + ".");
答案 3 :(得分:0)
试试这个:
var d = new Date();
var curr_hour = d.getHours();
var curr_minute = d.getMinutes();
var curr_second = d.getSeconds();
if((curr_hour > 17) || (curr_hour == 17 && curr_minute == 0 && curr_second == 0 )){
alert("Webshop is open");
} else {
alert("Webshop is closed.");
}