2011-12-06 12 views
15

Tengo un objeto de fecha en JavaScript y quiero averiguar si esa fecha es hoy. ¿Cuál es la forma más rápida de hacer esto?¿Cuál es la mejor manera de determinar si una fecha es hoy en JavaScript?

Mi preocupación estaba relacionada con la comparación del objeto de fecha, ya que uno podría tener un tiempo diferente a otro, pero cualquier momento en la fecha de hoy debe devolver true.

+4

Ahórrese un tiempo (¿lo obtiene?) Y use Moment.js: http://momentjs.com/ –

Respuesta

45

Usted podría utilizar toDateString:

var d = new Date() 
var bool = (d.toDateString() === otherDate.toDateString()); 
+0

Gracias @AKX por arreglar eso. No sé qué me pasó: P –

+0

¿Qué pasa si mi formato es '01192015'? – SearchForKnowledge

+1

El formato @SearchForKnowledge es menos preocupante. La pregunta original presupone que su variable está en formato de objeto de fecha de javascript para comenzar. '01192015' es técnicamente un formato de fecha no válido (' new Date ('01192015') 'en la consola devuelve" Fecha no válida ") al menos en lo que respecta a javascript. Sin embargo, el uso del estándar '01-19-2015' devuelve un objeto de fecha válido, que puede usar para comparar con la fecha de hoy usando' toDateString() '. –

3
var someDate = new Date("6 Dec 2011").toDateString(); 
var today = new Date().toDateString(); 
var datesAreSame = (today === someDate); 
8

Las respuestas basado en toDateString() funcionará, creo, pero personalmente los evitaría, ya que básicamente hacen la pregunta incorrecta.

Aquí es una aplicación sencilla:

function areSameDate(d1, d2) { 
    return d1.getFullYear() == d2.getFullYear() 
     && d1.getMonth() == d2.getMonth() 
     && d1.getDate() == d2.getDate(); 
} 

MDN tiene una visión decente de la API objeto Date JS si esto no es exactamente lo que necesita.

+2

No enlaces a W3Schools. Tienen [contenido engañoso ya menudo incorrecto] (http://w3fools.com/). En su lugar, use una fuente más reputada como [excelente red de desarrolladores de Mozilla] (https://developer.mozilla.org/en-US/) –

+0

No tenía conocimiento de los problemas con W3Schools. Se actualizó el enlace para que apunte a la página del documento MDN correspondiente. – recf

+0

+1, ya que creo que esta es una solución más sólida que toDateString. – RobG

Cuestiones relacionadas