在Java脚本中将给定时间与当前时间匹配

时间:2016-01-17 16:28:47

标签: javascript forms time compare

我想预约页面,其中给定时间应与当前时间进行比较,如果预订时间小于当前时间则显示并提醒预订时间应大于当前时间。   我的代码在

之下

HTML:

<form name="addform">
 Reservation Time : <input type="time" name="restime" required />
</form>

java脚本:

<script>
var valid=true;
var f=document.addform;
var d = new Date();
var curr_hour = d.getHours();
var curr_min = d.getMinutes(); 
var curtime=curr_hour + ":" + curr_min;

var t=f.restime.value;
var h = t.getHours();
var m = t.getMinutes();
var rtime=h + ":" + m;

function validate(curtime,rtime){
  var currtime=Date.parse('2016-01-16'+curtime);
  var bookingtime=Date.parse('2016-01-16'+rtime);
  alert(bookingtime);
  if(bookingtime=='NaN')
  {
    alert('invalid booking time');
    valid=false;
  }
  if (bookingtime<currrtime)
  {
    alert('Your given time is lesser than current time ');
    valid=false;
  }                     
}
validate(curtime,rtime);
return valid;
</script>

但代码没有显示任何提醒

2 个答案:

答案 0 :(得分:0)

我建议您以unix时间戳格式比较给定时间和js时间,查看Ex。 http://www.unixtimestamp.com/

在javascript中,您可以轻松获得以下代码的时间戳:

var timestamp = Math.floor(Date.now() / 1000);

然后比较:

var giventime = 1453048365;
if(timestamp > giventime) alert(1);

答案 1 :(得分:0)

我用这段代码解决了我的问题

var x = document.getElementById("restime"); var t=x.value;

function validate(curtime,t1) { if (t<curtime) { alert('Your given time is lesser than current time '); valid=false; } }

validate(curtime,t);