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

216
Vistas
¿Cómo obtener la hora y los minutos como valores numéricos (no como cadena) en la zona horaria local del objeto de fecha de Javascript?

Tengo una Fecha en formato UTC, y quiero obtener la hora y los minutos, pero en la zona horaria local en la que se ejecuta el navegador, y sin que yo especifique la zona horaria explícitamente, solo uso el valor predeterminado que usa el navegador. Sé que puedo obtener toda la hora de la fecha en la zona local como una cadena usando Date.toLocaleTimeString() o Date.toString() pero no quiero tener que analizar la hora y el minuto.

También puedo obtener la hora y los minutos numéricos de una fecha usando Date.getHours() y getMinutes(), pero esto no estará en la zona horaria local, ¿o sí? (irónicamente, mi zona horaria local es UTC, así que no estoy seguro de cómo probar)

Gracias

EDITAR: respondiendo a mi propia pregunta, ver más abajo

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

toLocalstring y luego convertiría la cadena en número.

 function getNumericHourAndMinute() { const tz = Intl.DateTimeFormat().resolvedOptions().timeZone; const d = new Date().toLocaleString('en-US', { timeZone: tz, timeStyle: 'short', hour12: false }); const p = d.split(':'); return [Number(p[0]), Number(p[1])]; } console.log(getNumericHourAndMinute());

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar Date.prototype.getHours y Date.prototype.getMinutes para obtener las horas y los minutos de una fecha de cadena como: 2022-01-08 14:00:00.

Usa este código:

 var d = new Date(/* A example date: '2022-01-08 14:00:00'*/); var h = d.getHours(); var m = d.getMinutes(); // Whit the example date you get in the console: 'Time: 14:00.' console.log('Time: '+ h + ' : ' + m + '.');
about 4 years ago · Juan Pablo Isaza Denunciar

0

Entonces, un objeto Date de Javascript aparentemente no está en una zona horaria como tal, es básicamente la cantidad de milisegundos desde la época de Unix según Date.now() https://developer.mozilla.org/en-US/docs/Web/ JavaScript/Referencia/Global_Objects/Fecha/ahora

De lo que no me di cuenta hasta que revisé los documentos ;-) fue que Date.getHours() devuelve el valor numérico de las horas según la hora local (es decir, la hora en la zona horaria del dispositivo que ejecuta el código) y no la hora UTC (que estaba tratando de evitar). https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getHours

Así que Date.hours() me da exactamente lo que quiero (si por alguna razón quisiera UTC, podría usar Date.getUTCHours() https://developer.mozilla.org/en-US/docs/Web/JavaScript/ Referencia/Global_Objects/Date/getUTCHours

Entonces puedo usar Date.getMinutes() para obtener el valor de los minutos de la Fecha y eso no se ve afectado por la zona horaria de todos modos, así que todo bien :)

about 4 years ago · Juan Pablo Isaza 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