Obtuve este valor de un servidor a las 06:21:00 pero el tiempo real fue a las 07:21:00 que es una hora más tarde. Creo que el valor está en UTC y tengo que cambiarlo a UTC+1. para que mi código pueda obtener la hora y cambiarla a UTC+1 y se agregará una hora automáticamente.
Proceso: Obtendré el valor del Servidor, luego lo pasaré a mi código javascript y el código js lo cambiará a UTC+1 (que se agregará una hora) y mostrará el valor.
¿Cómo puedo convertir el valor obtenido a UTC+1 (TimeZone Berlin)?
Segunda pregunta: Escribí el nuevo Date().toUTCString() y el resultado se muestra en inglés, ¿puedo mostrar el resultado en Alemania? como los días de semana? Gracias
No soy un JS-Pro, así que no creo que mi código sea hermoso, ¡pero funciona!
h = "06:21:00".split(":") n = (parseInt(h[0]) + 1) % 24 if (n.length = 1){ n= "0" + n; } result = n + ":" + h[1] + ":" + h[2] console.log(result)¿Creo que esto es lo que estás buscando?
Tomará la marca de tiempo del servidor en UTC y la convertirá adecuadamente en un objeto de fecha en el que puede recuperar la hora en su zona horaria local.
A partir de ahí, puede asignar la representación numérica del índice de día y mes a sus abreviaturas alemanas de día y mes y construir manualmente una cadena de tiempo.
let time = '06:21:00'; let date = new Date(); date.setUTCHours(...time.split(':')); let days = ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So']; let months = ['Jan', 'Feb', 'März', 'Apr', 'Mai', 'Juni', 'Juli', 'Aug', 'Sept', 'Okt', 'Nov', 'Dez']; let str = `${days[date.getDay()-1]} ${months[date.getMonth()]} ${date.getDate()} ${date.getFullYear()} ${date.toTimeString()}`; console.log(str);