2017-05-22 66 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"); 
    } 
}