In project development, we often encounter time comparisons within the same day. Below I have brought you JavaScript example code to compare time sizes on the same day. Friends who need it can refer to it
In project development In the process, sometimes you will encounter time comparisons within the same day. Generally speaking, the time selection is implemented through a plug-in, but it does not rule out that customers require manual input.
So, how to implement this when manually inputting time at the customer's request and needing to compare time sizes? The following is a brief introduction to the method steps I implemented:
1. First, get the content input by the user;
2. Verify whether the time format is correct;
3. Compare the two The size of time (three methods of comparing time are organized, please see the following code for details);
4. Return the result.
The following is a sample code, for reference only:
1. Get the two times input by the user, and replace all the colons entered by the user with half-width colons to facilitate subsequent operations;
var bagin = $('.input_three').val().replace(/:/g,':');//将全角冒号替换为半角冒号,替换的目的是为了通过半角冒号分割字符 var end = $('.input_four').val().replace(/:/g,':'); // 替换字符串中的某个字符:.replace(':',':'):只替换字符串中的第一个全角冒号;.replace(/:/g,':'):替换字符串中的所有的全角冒号 //将时间以冒号分割:以下比较时间大小的方法中会用到 var bagin_ = bagin.split(':'); var end_ = end.split(':');
2. Verify whether the time format is correct:
// 正则验证时间格式,正确的时间范围(通过返回时间戳格式,否则返回null) // [0-9]在范围内取其一;?是取之前字符的0个或者1个;也可以解释为非贪婪模式;|或者 var bagin_r = bagin.match(/^([0-1]?[0-9]|2[0-3])(:|:)([0-5][0-9])(:|:)([0-5][0-9])$/); var end_r = end.match(/^([0-1]?[0-9]|2[0-3])(:|:)([0-5][0-9])(:|:)([0-5][0-9])$/); if(bagin_r==null){ alert("请输入正确的营业时间,00:00:00-23:59:59"); return false; } if(end_r==null){ alert("请输入正确的截止时间,00:00:00-23:59:59"); return false; }
3. Compare the time size:
Method 1: Compare the time size through timestamp (must be converted to timestamp format to proceed) Size comparison)
if(bagin_r[1]>end_r[1]||bagin_r[1]==end_r[1]&&bagin_r[3]>end_r[3]||bagin_r[1]==end_r[1]&&bagin_r[3]==end_r[3]&&bagin_r[5]>=end_r[5]){ // alert("开始时间不能大于等于结束时间"); // return false; // }
Method 2: Get the hours, minutes and seconds of the input time to judge
if(bagin_[0]>end_[0]||bagin_[0]==end_[0]&&bagin_[1]>end_[1]||bagin_[0]==end_[0]&&bagin_[1]==end_[1]&&bagin_[2]>=end_[2]){ // alert("开始时间不能大于等于结束时间"); // return false; // }
Method 3: Compare the time size by calculating the total number of seconds
var bagin_time = bagin_[0]*3600 + bagin_[1]*60 + bagin_[2]; var end_time = end_[0]*3600 + end_[1]*60 + end_[2]; if(bagin_time >= end_time){ alert("开始时间不能大于等于结束时间"); return false; } // else{ alert("提交成功"); }
The above is I compiled it for everyone, I hope it will be helpful to everyone in the future.
Related articles:
Through vue v-for implements the method of loading local static images (detailed tutorial)
How to solve the problem of red and warning when using v-for in vue (detailed tutorial)
The above is the detailed content of Compare time on the same day through JavaScript. For more information, please follow other related articles on the PHP Chinese website!