我使用时间选择器,我在这里有一些时间,我想检查一下选择的时间是否小于当前时间或比当前时间短。例如我选择了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

10-07 19:59
查看更多