Para obtener fecha y hora en javascript, tenemos la clase Date() . Accedemos a la clase Date() creando sus objetos. La clase Date() devuelve la fecha y la hora combinadas.
Hay cuatro formas de instanciar una fecha:
Sintaxis:
var d = new Date(); //returns the present date and time
o
var d = new Date(milliseconds); //to set a specific date
o
var d = new Date(dateString); //to set a specific date
o
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds); //to set a specific date:
Entonces Date() devuelve la función Date() { [código nativo] } y podemos convertir eso en una string usando object.toString()
Enfoque 1:
cuando los objetos se comparan, se comparan tanto con la hora como con la fecha.
Así que ahora vamos a hacer que la hora sea 00:00:00 (parar) de esa manera cuando los objetos se comparen, solo se comparará la fecha, ya que la hora para ambos objetos de fecha será 00:00:00 (parar).
Para configurar la hora como 00:00:00 (detener), setHours() resulta útil.
Sintaxis;
//the hour(0-23) is mandatory. dateobject.setHours(hour, min, sec, millisec)
Y para hacer que el tiempo sea 0 o completamente detenido, debemos asegurarnos de que todos los parámetros sean 0, incluidos los milisegundos.
Ejemplo:
<!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>
Producción
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
Enfoque 2:
Aquí vamos a usar toDateString() para obtener la única fecha, pero cuando la obtenemos se convierte en una string, ya que la comparación no es posible para las strings, necesitamos volver a convertirla en un objeto de fecha, ahora al convertir los devuelve al tiempo del objeto establecido en 00:00:00 (se detiene) .
Sintaxis:
var date1 = new Date(new Date().toDateString());
Desglose de la sintaxis anterior
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
Ejemplo
<!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>
Producción
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