如何使用angularjs检查所选时间是小于当前时间还是大于当前时间?

时间:2015-12-12 04:57:04

标签: javascript angularjs

已经使用了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);

2 个答案:

答案 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

Here is an example Fiddle