我怎样才能在一个时间范围内发生一些事情?

时间:2016-03-01 02:52:51

标签: javascript time range

我希望在14:00弹出一个方框。后来我希望它在16:00消失。我怎样才能做到这一点?我正在使用Android Studio。我希望它是这样的:

if (Calendar.HOUR_OF_DAY > 14) {
Log.d("TIME", "Time Works!");
}

1 个答案:

答案 0 :(得分:0)

我不确定Android Studio,但仅针对JavaScript,您可以使用setTimeout()函数每X个时间调用一些任务。将其设置为每隔一段时间检查当前时间,如果超过14:00且小于16:00,请确保显示弹出窗口,否则将其关闭...

setTimeout(handlePopupVisibility, 60000);

function handlePopupVisibility() {

    var now = new Date();
    var startTime = dateObj('2:00 PM');
    var endTime = dateObj('4:00 PM');
    if (now < dateEnd && now > startTime) {
        // inside the range, show your element
        // (assumes jQuery)
        $("#popupID").show();
    } else {
        // outside the range, hide your element
        // (assumes jQuery)
        $("#popupID").hide();
    }

}

function dateObj(d) {
    var parts = d.split(/:|\s/),
        date  = new Date();
    if (parts.pop().toLowerCase() == 'pm') parts[0] = (+parts[0]) + 12;
    date.setHours(+parts.shift());
    date.setMinutes(+parts.shift());
    return date;
}

(这里的答案被盗:How to check if current time falls within a specific range considering also minutes