Escribí un código javascript para obtener las fechas y horas de los usuarios y mostrarlo en el sitio web, pero el problema es que no actualiza automáticamente los datos, cada vez que tiene que actualizar la página para obtener la nueva actualización. Quiero implementar un sistema que actualice automáticamente la fecha, el mes, el año, el día y la hora (todos) incluso cuando el usuario permanece en la página durante mucho tiempo.
Mi formato [4 de marzo de 2022, viernes - 15:18:33]
Estaría muy agradecido por la ayuda.
var myDate = new Date(); let daysList = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; let monthsList = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Aug', 'Oct', 'Nov', 'Dec']; let date = myDate.getDate(); let month = monthsList[myDate.getMonth()]; let year = myDate.getFullYear(); let day = daysList[myDate.getDay()]; let today = `${date} ${month} ${year}, ${day}`; let amOrPm; let twelveHours = function (){ if(myDate.getHours() > 12) { amOrPm = 'PM'; let twentyFourHourTime = myDate.getHours(); let conversion = twentyFourHourTime - 12; return `${conversion}` }else { amOrPm = 'AM'; return `${myDate.getHours()}`} }; let hours = twelveHours(); let minutes = myDate.getMinutes(); let seconds = myDate.getSeconds(); let currentTime = `${hours}:${minutes}:${seconds} ${amOrPm}`; document.write(today + ' ' + currentTime);puedes :
function setCurrentTime() { var myDate = new Date(); let daysList = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; let monthsList = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Aug', 'Oct', 'Nov', 'Dec']; let date = myDate.getDate(); let month = monthsList[myDate.getMonth()]; let year = myDate.getFullYear(); let day = daysList[myDate.getDay()]; let today = `${date} ${month} ${year}, ${day}`; let amOrPm; let twelveHours = function() { if (myDate.getHours() > 12) { amOrPm = 'PM'; let twentyFourHourTime = myDate.getHours(); let conversion = twentyFourHourTime - 12; return `${conversion}` } else { amOrPm = 'AM'; return `${myDate.getHours()}` } }; let hours = twelveHours(); let minutes = myDate.getMinutes(); let seconds = myDate.getSeconds(); let currentTime = `${hours}:${minutes}:${seconds} ${amOrPm}`; document.getElementById('current-time').innerText = today + ' ' + currentTime } setInterval(function() { setCurrentTime(); }, 1000); <div id="current-time"></div>La forma rápida y sucia sería usar la función setInterval() . Toma una devolución de llamada y un intervalo de tiempo, o con qué frecuencia le gustaría que se repita (en milisegundos):
setInterval(() { console.log('hello world!') }, 1000) // Run every second; 1 second == 1000 millisecondspuede usar setTimeOut y setinterval. var miFecha = nueva Fecha();
let daysList = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", ]; let monthsList = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Aug", "Oct", "Nov", "Dec", ]; function timer() { let date = myDate.getDate(); let month = monthsList[myDate.getMonth()]; let year = myDate.getFullYear(); let day = daysList[myDate.getDay()]; let today = `${date} ${month} ${year}, ${day}`; let amOrPm; let twelveHours = function() { if (myDate.getHours() > 12) { amOrPm = "PM"; let twentyFourHourTime = myDate.getHours(); let conversion = twentyFourHourTime - 12; return `${conversion}`; } else { amOrPm = "AM"; return `${myDate.getHours()}`; } }; let hours = twelveHours(); let minutes = myDate.getMinutes(); let seconds = myDate.getSeconds(); let currentTime = `${hours}:${minutes}:${seconds} ${amOrPm}`; document.write(today + " " + currentTime); setTimeout(timer, 1000) } timer()