我使用时间选择器,我在这里有一些时间,我想检查一下选择的时间是否小于当前时间或比当前时间短。例如我选择了11:00 AM; var selectedtime = '11:00 AM'我如何检查11:00 AM是否小于当前时间或比当前时间更糟糕。我需要显示警报,我对此技术有新帮助
$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);
最佳答案
您可以使用它们的时间戳值轻松地比较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