2017-05-22 101 views
-3
開始時間和結束時間

您好所有我想要使用javascript如下驗證使用Javascript

<input type="text" id="txtStartTime" value="5:00 PM" /> 
    <input type="text" id="txtEndTime" value="01:23 AM" /> 
    <input type="button" id="btnCompare" value="Compare" onclick="Compare()" /> 
    <script type="text/javascript"> 
     function Compare() { 
      var strStartTime = document.getElementById("txtStartTime").value; 
      var strEndTime = document.getElementById("txtEndTime").value; 

      var startTime = new Date().setHours(GetHours(strStartTime), GetMinutes(strStartTime), 0); 
      var endTime = new Date(startTime) 
      endTime = endTime.setHours(GetHours(strEndTime), GetMinutes(strEndTime), 0); 
      if (startTime > endTime) { 
       alert("Start Time is greater than end time"); 
      } 
      if (startTime == endTime) { 
       alert("Start Time equals end time"); 
      } 
      if (startTime < endTime) { 
       alert("Start Time is less than end time"); 
      } 
     } 
     function GetHours(d) { 
      var h = parseInt(d.split(':')[0]); 
      if (d.split(':')[1].split(' ')[1] == "PM") { 
       h = h + 24; 
      } 
      return h; 
     } 
     function GetMinutes(d) { 
      return parseInt(d.split(':')[1].split(' ')[0]); 
     } 
    </script> 

我需要的是,如果我在開始時間爲上午8:00進入到驗證開始時間和結束時間,結束時間爲9:00 AM應該返回true,如果我進入開始時間和結束時間9:00 AM爲上午8:00時應該返回false

+0

你的問題是它是否行得通呢? –

+0

用退貨取代警報? – jbe

+0

@SujalMandal「問題」的現代觀念是「我需要的是」。 – evolutionxbox

回答

0

您可以使用此功能 -

function compareDate (a,b) { 
     // Compare two dates (could be of any type supported by the convert 
     // function above) and returns: 
     // -1 : if a < b 
     // 0 : if a = b 
     // 1 : if a > b 
     // NaN : if a or b is an illegal date 
     // NOTE: The code inside isFinite does an assignment (=). 
     return (
      isFinite(a.valueOf()) && 
      isFinite(b.valueOf()) ? 
      (a>b)-(a<b) : 
      NaN 
     ); 
    } 

僅此功能w請致電日期類型。請在前面提供的解決方案中找到原始的link

0

嘗試下面的腳本,如果你設置的時間以小時爲單位,如果你想用分鐘來驗證過,那麼你需要有不同的apporach

function Compare() { 
    var startTime= "15:00"; // format hh:mm 
    var endTime = "12:00"; 
    var st = startTime.split(":"); 
    var et = endTime .split(":"); 
    var OK = false; 

    if (st[0] < et[0]) { OK = false } 
    else 
    { 
     OK = true; 
    } 
    if (!OK) { 
     alert("The end time is less than start time"); 
    } 
}