Улучшение этого кода для сравнения 2 раза в формате (ЧЧ: ММ: СС)

Я написал код для сравнения 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

1 ответ

Решение

Вообще говоря, безопаснее сравнивать два объекта 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/

Другие вопросы по тегам