ホームページ > 記事 > ウェブフロントエンド > JavaScriptは同じ日の時刻を比較します
プロジェクト開発のプロセスでは、同じ日内の時間の比較が発生することがあります。一般に、時間の選択はプラグインを介して実装されますが、顧客が手動入力を必要とする状況が排除されるわけではありません。では、顧客の要求に応じて時間を手動で入力し、時間の大きさを比較する必要がある場合、これをどのように実装すればよいでしょうか?以下に、私が実装したメソッドの手順を簡単に紹介します。
1. まず、ユーザーが入力した内容を取得します
2. 2 つの時刻の形式を比較します。時間 (時間を比較する 3 つの方法をまとめています。詳細については、次のコードを参照してください)
4. 結果を返します。
以下は参考用のサンプルコードです:
1. ユーザーが入力した 2 回の入力を取得し、その後の操作を容易にするために、ユーザーが入力したすべてのコロンを半角コロンに置き換えます。時間形式が正しいかどうか:
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(':');
3. 時間サイズを比較します:
方法 1: タイムスタンプを通じて時間サイズを比較します (サイズ比較を実行するには、タイムスタンプ形式に変換する必要があります)
// 正则验证时间格式,正确的时间范围(通过返回时间戳格式,否则返回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; }
方法 2: 時、分、および時間を取得します。入力時間の秒数を個別に判定
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; // }
方法3:合計秒数を計算して時間を比較
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; // }
関連する推奨事項:
JavaScriptのタイムスタンプを日付形式に変換する詳細な使用例以上がJavaScriptは同じ日の時刻を比較しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。