我正在尝试检查特定的ISO日期时间是否在18:00之前

这是简单的代码:

   // Define the date I want to check
    var targetDate = "2015-02-04T13:30:00Z";
    // Parse the string into a date object
    var target = new Date.parse(targetDate);
    // Compare the target date againt a new date object set to 18:00:00
    if(target < new Date().setHours(18 , 0, 0)){
        console.log("BEFORE");
    } else {
        console.log("AFTER");
    }


即使我的targetDate中的时间设置为13:30:00,输出也始终是AFTER。

我已经搜索了如何比较时间,并从发现的结果中进行了一次简单的比较(我确实可以使用)。

如果有人能指出我做错了什么,我将不胜感激。

最佳答案

尝试:

var targetDate = new Date("2015-02-04T13:30:00Z");
var numHours = targetDate.getHours();
if (numHours < 18) {
  console.log("BEFORE");
} else {
  console.log("AFTER");
}

07-26 05:11