我写了一些代码以字符串格式(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

最佳答案

一般来说,比较两个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/

09-08 06:12