Чтобы получить дату и время в javascript, у нас есть класс Date (). Мы получаем доступ к классу Date (), создавая его объекты. Класс Date() возвращает дату и время в сочетании.
Существует четыре способа создания экземпляра даты:
Синтаксис:
var d = new Date();
//returns the present date and time
или
var d = new Date(milliseconds);
//to set a specific date
или
var d = new Date(dateString);
//to set a specific date
или
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
//to set a specific date:
Таким образом, функция Date() возвращает функцию Date() { [собственный код]}, и мы можем превратить ее в строку с помощью object.toString()
Подход 1:
Когда объекты сравниваются, они сравниваются как со временем, так и с датой.
Итак, теперь мы установим время до 00:00:00(остановка) таким образом, когда сравниваются объекты, сравнивается только дата, так как время для обоих объектов даты будет 00:00:00(остановка).
Чтобы установить время как 00:00:00(остановка), пригодится функция setHours ().
Синтаксис:
//the hour(0-23) is mandatory.
dateobject.setHours(hour, min, sec, millisec)
И для того, чтобы время было равно 0 или полностью остановлено, мы должны убедиться, что все параметры равны 0, включая миллисекунды.
Пример:
<!DOCTYPE html>
<html>
<body>
<p>Below date1 and data2 are compared for older, further, and same dates.</p>
<script>
//Example-1
var date1 = new Date();
date1.setHours(0, 0, 0, 0)
var date2 = new Date(2020, 8, 20);
//stops the clock
date2.setHours(0, 0, 0, 0)
document.write("date1=>", date1);
document.write("<br \>date2=>", date2);
if (date1 > date2) {
document.write("<br \>date1 is further than date2");
} else if (date1 < date2) {
document.write("<br \>date1 is older than date2")
} else {
document.write("<br \>date1 and date2 same")
}
//Example-2
date2 = new Date(2019, 11, 3);
document.write("<br \><br \>date1=>", date1);
document.write("<br \>date2=>", date2);
if (date1 > date2) {
document.write("<br \>date1 is further than date2");
} else if (date1 < date2) {
document.write("<br \>date1 is older than date2")
} else {
document.write("<br \>date1 and date2 same")
}
//Example-3
date1 = new Date();
date2 = new Date();
date1.setHours(0, 0, 0, 0)
date2.setHours(0, 0, 0, 0)
document.write("<br \><br \>date1=>", date1);
document.write("<br \>date2=>", date2);
if (date1 > date2) {
document.write("<br \>date1 is further than date2");
} else if (date1 < date2) {
document.write("<br \>date1 is older than date2")
} else {
document.write("<br \>date1 and date2 same.")
}
//Example-4
date1 = new Date();
date2 = new Date();
date1.setHours(0, 0, 0, 0)
/*Due to, time didn't get stop in data2,
it’s time also gets compared to data1.*/
//date2.setHours(0,0,0,0)
document.write("<br \><br \>date1=>", date1);
document.write("<br \>date2=>", date2);
if (date1 > date2) {
document.write("<br \>date1 is further than date2");
} else if (date1 < date2) {
document.write("<br \>date1 is older than date2")
} else {
document.write("<br \>date1 and date2 same.")
}
</script>
</body>
</html>
Выход
Below date1 and data2 are compared for older, further, and same dates.
date1=>Wed Dec 04 2019 00:00:00 GMT+0530 (India Standard Time)
date2=>Sun Sep 20 2020 00:00:00 GMT+0530 (India Standard Time)
date1 is older than date2
date1=>Wed Dec 04 2019 00:00:00 GMT+0530 (India Standard Time)
date2=>Tue Dec 03 2019 00:00:00 GMT+0530 (India Standard Time)
date1 is further than date2
date1=>Wed Dec 04 2019 00:00:00 GMT+0530 (India Standard Time)
date2=>Wed Dec 04 2019 00:00:00 GMT+0530 (India Standard Time)
date1 and date2 same.
date1=>Wed Dec 04 2019 00:00:00 GMT+0530 (India Standard Time)
date2=>Wed Dec 04 2019 05:37:26 GMT+0530 (India Standard Time)
date1 is older than date2
Подход 2:
Здесь мы будем использовать toDateString() для получения единственной даты, но при ее получении она преобразуется в строку, поскольку сравнение строк невозможно, нам нужно снова преобразовать ее в объект даты, теперь при преобразовании их обратно в объект время устанавливается в 00:00:00(останавливается).
Синтаксис:
var date1 = new Date(new Date().toDateString());
Разбивка приведенного выше синтаксиса
new Date().toDateString() converts the Date object to a string containing only the date part.
new Date(new Date().toDateString());
converts it back to Date object setting time to 00:00:00
Пример
<!DOCTYPE html>
<html>
<body>
<p>Below date1 and data2 are compared for older,
further, and same dates.</p>
<script>
//Example-1
var date1 = new Date(new Date().toDateString());
var date2 = new Date(new Date(2018, 8, 20).toDateString());
//var date2 = new Date(2018,8,20).toDateString();
document.write("date1=>", date1); //returns only the date.
document.write("<br \>date2=>", date2);
if (date1 > date2) {
document.write("<br \>date1 is further than date2");
} else if (date1 < date2) {
document.write("<br \>date1 is older than date2")
} else {
document.write("<br \>date1 and date2 same")
}
</script>
</body>
</html>
Выход
Below date1 and data2 are compared for older, further, and same dates. date1=>Fri Dec 20 2019 00:00:00 GMT+0530 (India Standard Time) date2=>Thu Sep 20 2018 00:00:00 GMT+0530 (India Standard Time) date1 is further than date2