在时间上使用布尔逻辑(javascript)
Using boolean logic on time (javascript)
Javascript内置了时间函数
var date = new Date();
d.getHours() //gets the hour in integer 0-23
d.getMinutes() //gets the minute in integer 0-59
我想要功能(例如 A()
) 在 0:35 和 4:35 之间运行
这是否可能仅使用简单的逻辑运算(&&
,||
)来完成?我认为这是不可能的,但我想知道实现它的优雅方式。
您可以使用时间戳进行比较。
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth();
var day = date.getDate();
var start = new Date(year, month, day, 0, 35);
var end = new Date(year, month, day, 4, 35);
if (date.getTime() >= start.getTime() && date.getTime() <= end.getTime()) {
//...
}
var date = Date.now(); // ES5 - or new Date().getTime()
var sec = (date / 1000); // seconds since epoch
sec = sec % 86400; // seconds since midnight
var mins = sec / 60; // minutes since midnight
if (mins >= 35 && mins < 4*60+35) {
A();
}
从技术上讲这是可能的,但你是绝对正确的,因为这不是一个优雅的解决方案:
var h = d.getHours();
var m = d.getMinutes();
if ((h == 0 && m >= 35) || (h > 0 && h < 4) || (h == 4 && m <=35)) {
A();
}
这应该有效:
function foo(){
var now = new Date();
if( (now.getHours() < 1 && now.getMinutes() < 35)
|| (now.getHours() > 3 && now.getMinutes() > 35) ){
return false; //if it isn't in your time, return false
}
//put your code here. this will run between the hours of 12:35AM and 4:35AM local time
}
我希望这就是你要找的。如果没有,请告诉我。
相关文章:
- 什么's VBA和Javascript布尔表达式之间的区别
- JavaScript 布尔比较总是失败
- Javascript 布尔代码
- Javascript 布尔值“切换”
- 创建 JavaScript 布尔变量
- Javascript 布尔赋值
- Javascript 布尔值:false && true 结果为 true
- 节点红色JavaScript布尔切换
- 如何通过php变量设置javascript布尔变量
- 更高效的javascript布尔值
- Javascript布尔数组操作
- Javascript布尔混淆
- Javascript布尔值问题
- 如何在PHP代码中使用JavaScript布尔输出
- Javascript布尔值true变为false,false不会变为true
- Javascript布尔问题
- Javascript布尔结果失败
- JavaScript布尔if语句问题
- JavaScript布尔表达式中的多个比较运算符
- JSF javascript布尔渲染