判斷一個時間是否處於指定的時間段內程式碼例項

admin發表於2017-04-08

本章節分享一段程式碼例項,它實現了判斷一個時間是否處於指定時間段內的功能。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
var time_range = function (beginTime, endTime, nowTime) {
  var strb = beginTime.split (":");
  if (strb.length != 2) {
    return false;
  }
 
  var stre = endTime.split (":");
  if (stre.length != 2) {
    return false;
  }
 
  var strn = nowTime.split (":");
  if (stre.length != 2) {
    return false;
  }
  var b = new Date ();
  var e = new Date ();
  var n = new Date ();
 
  b.setHours (strb[0]);
  b.setMinutes (strb[1]);
  e.setHours (stre[0]);
  e.setMinutes (stre[1]);
  n.setHours (strn[0]);
  n.setMinutes (strn[1]);
 
  if (n.getTime () - b.getTime () > 0 && n.getTime () - e.getTime () < 0) {
    return true;
  }
  else {
    return false;
  }
}
console.log(time_range ("21:30", "23:30", "3:22"));

上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。

一.程式碼註釋:

(1).var time_range = function (beginTime, endTime, nowTime) {},此函式實現了判斷功能,第一個引數是開始時間,第二個引數是結束時間,第三個引數是要進行判斷的時間。

(2).var strb = beginTime.split (":");

if (strb.length != 2) {

  return false;

},將開始的時間字串進行分割形成一個陣列。

如果陣列的長度不等於2,那麼就說明有錯誤,直接跳出。

(3).var stre = endTime.split (":");

if (stre.length != 2) {

  return false;

},和上面同樣的道理。

(4).var strn = nowTime.split (":");

if (stre.length != 2) {

  return false;

},和上面同樣的道理。

(5).var b = new Date (),建立時間物件。

(6).b.setHours (strb[0]),設定時間日期物件的小時欄位。

(7).b.setMinutes (strb[1]),設定時間日期物件的分鐘欄位。

(8).if (n.getTime () - b.getTime () > 0 && n.getTime () - e.getTime () < 0) {

  return true;

}

else {

  return false;

},指定時間日期的時間戳大於開始時間日期的時間戳且小於結束時間日期的時間戳,那麼就說明在其中,否則不在其中,那麼就返回對應的值。

二.相關閱讀:

(1).split()方法可以參閱javascript split()一章節。

(2).setHours()方法可以參閱javascript setHours()一章節。

(3).setMinutes()方法可以參閱javascript setMinutes()一章節。

(4).getTime()方法可以參閱javascript getTime()一章節。

相關文章