表題の通り入力された時刻と現在時刻を比較するサンプルコードです。
Contents
サンプルコード
See the Pen 時間取得テスト(Javascript IDで値取得) by Nakamoto (@programmerlife) on CodePen.
Javascript
書くことがないので同じ内容のJavascriptをに少し細くを付け加えたものを以下に貼り付けます。
// inputからフォーカスを失ったときにfunctonが実行される
function blurFunction(){
// 入力された値、開始時間(start_time)に現在より過去の時刻が設定されていないか
// 現在の日付と時刻を取得
let today = new Date();
// 入力値をいれる箱value_todayを作成
let value_today = new Date();
// 入力された文字列をstart_timeに代入。
let start_time = document.getElementById("start_time").value;
// 入力値が空じゃなければ
if (start_time != "") {
// start_timeを「:」区切りで分ける。(時間と分に分ける)
let hour_mins = start_time.split(":");
// 時間 と 分 を変数に代入
let hour = hour_mins[0];
let mins = hour_mins[1];
// value_todayに入力された時間を反映
value_today.setHours(Number(hour));
value_today.setMinutes(Number(mins));
// 現在時間と入力された時間を比較 (現在時間より入力された値が小さいか)
if (value_today <= today) { // 「<」 同時刻を除く「<=」で同時刻を含む
// 過去ならアラート
alert("過去の時刻が設定されています");
}
}
}
入力のバリデーションは省略しています。
おわり
現在時刻の時間と分を数値にして数値で比較する方法もありそうですね。
時間や日時の比較をすることが多くあるのかなと思ったので備忘録として残しておきました。