Mi sitio web actualmente muestra la hora UTC de esta manera:
2022-03-22T23:38:25.748Z
Pero me gustaría que fuera formateado así:
23:39:22 UTC
Aquí está el javascript que tengo:
<script type="text/javascript"> function display_c(){ var refresh=1000; // Refresh rate in milli seconds mytime=setTimeout('display_ct()',refresh) } function display_ct() { var x = new Date() var x1=x.toISOString();// changing the display to UTC string document.getElementById('ct').innerHTML = x1; tt=display_c(); } <body onload=display_ct();><span id='ct' >¿Puedes ayudarme a formatear esto? Investigué el uso de angular y busqué otros métodos para implementar esto, pero parece que hay muchas formas de hacerlo. Las cosas que he probado no muestran el formato correctamente. El código anterior es la solución más cercana que he encontrado.
Esto debería producir el formato que desea tener.
let date = new Date(); let utc_string = date.toUTCString().match(/..:..:.. .*/)[0]; console.log(utc_string);Utilice el método Intl.DateTimeFormat para esto de la siguiente manera:
function display_c(){ const refresh = 1000; mytime = setTimeout('display_ct()',refresh) } function display_ct() { let dtf = new Intl.DateTimeFormat("en-GB", { timeZone: "GMT", hour12: false, timeStyle: "long" }); document.getElementById('ct').innerHTML = dtf.format( new Date() ); tt = display_c(); } display_ct(); <div id="ct"></div>Puede usar las diversas opciones de configuración disponibles para personalizar el formato de la fecha y hora, o usar la siguiente configuración para mostrar una cadena personalizada:
function display_ct() { let dtf = new Intl.DateTimeFormat("en-GB", { timeZone: "GMT", hour12: false, timeStyle: "medium" }); document.getElementById('ct').innerHTML = dtf.format( new Date() ) + " Zulu"; }Opciones de configuración disponibles: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat
new Date().toISOString().slice(11, 19) + ' UTC'Una propiedad agradable e intencional del formato de fecha y hora ISO es que la mayoría de las partes tienen siempre la misma longitud.
Tenga en cuenta que truncar, no redondear, es el comportamiento correcto.