已经使用了timepicker我有一些时间在这里我想检查所选时间是否小于当前时间或gratter比当前时间。例如我选择了11:00 AM; var selectedtime = '11:00 AM'我如何检查11:00 AM是否比当前时间少或当前时间gratter。我需要显示警报我对此技术的新功能帮助我
$scope.date="Sat Dec 12 2015 00:00:00 GMT+0530 (India Standard Time)";
$scope.time = "11:00 AM";
对于此特定日期,所选时间是我需要检查的过去或将来 我怎样才能获得当前时间并在选定的时间内查看一些人帮助我
我已经尝试但我无法解决请帮助我
var now = new Date();
var nowTime = new Date('1/1/1900 ' + now.toLocaleTimeString(navigator.language, {
hour: '2-digit',
minute: '2-digit',
hour12: true
}));
console.log(nowTime);
答案 0 :(得分:2)
您可以使用时间戳值轻松比较javascript中的两个Date
。
在日期调用.getTime()
,它将返回自1970年1月1日以来经过的毫秒数。
var now = new Date();
var d = new Date( ... ); // pass all the parameters you need to create the time
if (now.getTime() > d.getTime()) {
// the date stored in `d` is in the past.
}
如果您只需要比较小时和分钟,可以拨打.getHours()
和.getMinutes()
。然后计算总分钟数d.getHours()*60+d.getMinutes()
,然后比较该值。
var now = new Date();
var d = new Date( ... );
var nowTime = now.getHours()*60+now.getMinutes();
var dateTime = d.getHours()*60+d.getMinutes();
// compare nowTime and dateTime
if (newTime > dateTime) {
// ....
}
阅读评论后。
var getResult = function () {
var now = new Date();
var nowTime = new Date((now.getMonth()+1) + "/" + now.getDate() + "/" + now.getFullYear() + " " + now.getHours()+":"+now.getMinutes());
var userTime = new Date((now.getMonth()+1) + "/" + now.getDate() + "/" + now.getFullYear() + " " + selectedTime);
if (nowTime.getTime() > userTime.getTime()) {
return "passed";
}else if (nowTime.getTime() == userTime.getTime()) {
return "present";
}else {
return "future";
}
}
对于角度版本,请检查此http://plnkr.co/edit/UmpfBFR1zvL7qs9LpOjO?p=preview
答案 1 :(得分:0)
由于您要将此与当天进行比较,因此您可以使用今天的信息加上输入的时间来构建新的Date()
对象。
var time = "11:00 PM";
var dt = (now.getMonth()+1) + "/" + now.getDate() + "/" + now.getFullYear() + " " + time;
然后将它与现在进行比较:
var now = new Date();
var userval = new Date(dt);
if (now > userval) //do logic