如何将当前时间与使用 Javascript 格式化为字符串的时间范围进行比较
How to compare current time to a time range formated as a string using Javascript
我的数据库中有两次格式化为字符串,它们分别采用上午 8:30 和晚上 9:00 的格式。使用Javascript,我不想获取当前时间,看看我是否在两次时间的范围内。我将如何去做
将
开始、结束和当前时间转换为 JavaScript Date 对象,然后检查是否start <= current < end
。如果开始日期小于结束日期,则会变得棘手:
// The un-important bits
var d0 = new Date("01/01/2001 " + "8:30 AM");
var d1 = new Date("01/01/2001 " + "9:00 PM");
var d = new Date("01/01/2001");
d.setHours(new Date().getHours());
d.setMinutes(new Date().getMinutes());
// For testing
console.log(d0, d, d1);
// The important bit
console.log(
d0 < d1
? (d0 <= d && d < d1)
: (d1 <= d && d < d0) == false
);
像这样?
function validNow ( from, until ) {
var toTime= function ( str ) {
var match = str.match(/^('d+):('d+)'s*([AP])/);
if ( !match ) throw "str has wrong format";
return match[1] * 60 + +match[2] + (match[3] == 'P' ? 720 : 0);
};
var d= new Date();
var current= d.getHours() * 60 + d.getMinutes();
console.log(current, toTime(until));
return current >= toTime(from) && current <= toTime(until);
}
console.log(validNow('8:30PM', '10:11PM'));
相关文章:
- 使用JavaScript将客户端日期/时间字符串转换为JSON日期/时间串
- 将时间字符串值转换为时间javascript
- Mysql日期时间字符串格式为angularjs中的可读日期
- 如何将 UTC 日期时间(字符串)转换为访问者时区
- 如何使用 Javascript 将持续时间字符串解析为秒
- 正在读取UTC时间字符串
- 在javascript中使用PHP时间字符串后,倒计时不起作用
- 转换一个时间(字符串),例如1:00 IST到另一个时区(比如PST)
- 如何将UTC时间字符串转换为本地时区中正确的moment.js对象
- 如何从javascript或jquery中的时间字符串中获取分钟数
- 将时间字符串(例如上午 9:00)转换为 24 小时 (0900)
- 将时间字符串转换为本地时间
- JavaScript 中的正则表达式来捕获时间字符串
- 使用 javascript 将日期和时间字符串转换为 dd/mm/yyyy
- 在自定义格式的Javascript中解析“日期和时间”字符串
- jQuery localtime,收到不受支持的日期/时间字符串错误
- 给定一个日期/时间字符串,w javascript/jquery,你怎么能确定它是否是今天
- 在 Javascript 中解析 Python 日期时间字符串
- 如何从 HH:MM 时间字符串中减去小时和分钟
- 在 Javascript 中将日期时间字符串转换为时间戳