Если новая дата меньше даты, хранящейся в переменной
Мне просто интересно, как я могу сравнить дату со следующим кодом:
var today = new Date();
Выводит текущий день так:
Wed Feb 24 2016 12:02:34 GMT+0000 (GMT Standard Time)
Однако, если у меня есть переменная, содержащая строку, например, так:
var end = "Tue Mar 1 2016 00.00.00 GMT+0000 (GMT Standard Time)";
Я не могу сравнить эти две переменные в операторе if, используя оператор больше, потому что end
переменная является строкой.
Так что мне просто интересно, как я могу сравнить установленную дату в переменной с моей сегодняшней переменной?
Спасибо ник
2 ответа
Вы можете использовать временную метку даты вместо строкового представления.
var today = new Date();
console.log(today.getTime());
Это целое число, и вы можете сравнить два из них. Помните, что это метка времени в миллисекундах, а не в секундах, если вы хотите сравнить ее с метками времени из других источников.
Примечание. Существует также возможность анализа обратно из строкового представления объекта time to Date, но это во многом зависит от формата, в котором была составлена строка (и, возможно, от клиента JS), и это может не всегда работать. Я рекомендую работать только с числовыми временными метками, если вы планируете сравнивать время.
Вы можете создать новый объект даты с вашей сохраненной датой и сравнить их.
var today = new Date();
//Edited date slightly to make it fit javascript date format
var end = new Date("Thu Mar 01 2001 00:00:00 GMT+0000 (GMT)");
Например
if(today > end){
//do something
}