Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

128
Vistas
Intentar pasar un objeto como parámetro es romper la variable. ¿Debería refactorizar esto?

¿Es posible pasar un objeto de fecha como parámetro? Estaba intentando configurar otro intervalo establecido para actualizar el saludo para actualizaciones automáticas cuando noté que estaba usando mucho una nueva Fecha (). Traté de refactorizar un poco el código pero terminé rompiendo cosas. Mi nuevo código no reconoce la variable 'hoy' incluso para el primer selector donde estaba funcionando antes.

 //Variables const today = new Date(); const weekday = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; //Selectors document.getElementById("day").innerHTML = weekday[today.getDay()]; document.getElementById("date").innerHTML = today.toLocaleDateString(); //Functions //Greeting based on local time function timeOfDay(today) { document.getElementById("greeting").innerHTML = today.getHours() < 12 ? "Good Morning" : today.getHours() >= 18 ? "Good Evening" : "Good Afternoon"; } setInterval(timeOfDay, 1000 * 60 * 60); //Get and display local time function getTime(today) { const currentTime = today.toLocaleTimeString(); document.getElementById("time").innerHTML = currentTime; } setInterval(getTime, 1);

El siguiente código funcionaba bien. Solo estaba tratando de ver si había otra forma de hacerlo sin crear constantemente un nuevo objeto de fecha.

 //Greeting based on local time document.getElementById("greeting").innerHTML = new Date().getHours() < 12 ? "Good Morning" : new Date().getHours() >= 18 ? "Good Evening" : "Good Afternoon"; //Get and display local time const today = new Date(); const weekday = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; document.getElementById("day").innerHTML = weekday[today.getDay()]; document.getElementById("date").innerHTML = today.toLocaleDateString(); function getTime() { const time = new Date(); const currentTime = time.toLocaleTimeString(); document.getElementById("time").innerHTML = currentTime; } setInterval(getTime, 1);

Cualquier ayuda o consejo es apreciado.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

El problema aquí es que cuando crea un nuevo objeto Date , su valor es la hora en que se creó. No cambia después de eso.

Afortunadamente hay una solución fácil.

No necesita crear un nuevo objeto Date cada vez, solo use el objeto en sí como una función.

 var now = new Date(); setInterval(() => { console.log(`new Date(): ${now}`); console.log(`Date(): ${Date()}`); console.log(""); }, 1000)

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda