0

我写了一些代码以字符串格式(HH:MM:SS)比较2次。

var time = new Date();
var current_time_str = time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds();

var deadline= "16:00:00" //hh:mm:ss
if ( (current_time_str) > (deadline))
{
    console.log("deadline has passed");
}

该代码实际上是通过简单地比较字符串来工作的。但是,我担心它是否只是巧合地工作,因为字符串只是一个 ASCII 表示。还有其他方法可以比较 2 时间吗?我正在使用 node.js

4

1 回答 1

4

一般来说,比较两个 Date 对象比比较字符串更安全。

你可以这样做:

// Get current date/time
var now = new Date();

// Set up deadline date/time
var deadline = new Date();
deadline.setHours(16);
deadline.setMinutes(0);

// Check if the current time is after the deadline
if( now > deadline ) {
    alert('after deadline');
}
else {
    alert('before deadline');
}

http://jsfiddle.net/md63mbpd/

于 2015-11-09T09:33:48.607 回答