Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

152
Visualizações
Quiero cambiar la zona horaria del objeto de fecha en JavaScript

Quiero cambiar la zona horaria del objeto JavaScript. Puedo acceder a la hora de la zona horaria requerida, pero los objetos de fecha aún muestran mi zona horaria local.

 new Date() output //Thu Nov 18 2021 16:30:23 GMT+0500 (Pakistan Standard Time) new Date().toLocaleString("en-US", {timeZone: "America/Los_Angeles"}) output //'11/18/2021, 3:30:40 AM' new Date().toLocaleString("en-US", {timeZone: "America/Los_Angeles", timeZoneName: "short"}) output //'11/18/2021, 3:30:54 AM PST' new Date(new Date().toLocaleString("en-US", {timeZone: "America/Los_Angeles", timeZoneName: "short"})) output //Thu Nov 18 2021 16:37:35 GMT+0500 (Pakistan Standard Time) 

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

El objeto Date de JavaScript no admite la configuración de la zona horaria, lo mejor que puede hacer es formatear fechas y horas usando Date.toLocaleString() como en su código.

Las bibliotecas de fecha/hora dedicadas, como luxon , admiten la configuración de las zonas horarias para los objetos DateTime de manera muy simple.

Sugeriría usar una de estas bibliotecas para obtener fechas en otra zona horaria, a continuación se muestra un ejemplo simple (obteniendo la fecha y hora en la zona horaria de Los Ángeles):

 const { DateTime } = luxon; const localTime = DateTime.now(); const laTime = localTime.setZone("America/Los_Angeles") console.log("Local Time:", localTime.toFormat('yyyy-MM-dd HH:mm')); console.log("Los Angeles Time:", laTime.toFormat('yyyy-MM-dd HH:mm')); console.log("Local Time (hour, minute):", localTime.hour, localTime.minute); console.log("Los Angeles Time (hour, minute):", laTime.hour, laTime.minute);
 .as-console-wrapper { max-height: 100% !important; top: 0; }
 <script src="https://cdn.jsdelivr.net/npm/luxon@2.1.1/build/global/luxon.min.js"></script>

Puede intentar hacer algo como a continuación usando el objeto Date nativo, sin embargo, es realmente un truco y no siempre dará resultados precisos:

 function getDateInTimezone(date, timeZone) { // Using a locale of 'sv' formats as an ISO date, eg yyyy-MM-dd HH:mm. const timeInTimeZone = date.toLocaleString('sv', { timeZone } ); // Pass this to the Date constructor return new Date(timeInTimeZone); } const localTime = new Date(); const timeZoneList = ['Asia/Karachi', 'Europe/Paris','America/Los_Angeles']; console.log(`Local Time: ${localTime.toLocaleTimeString()}`); for(let timeZone of timeZoneList) { const dt = getDateInTimezone(localTime, timeZone); console.log(`Time (${timeZone}): ${dt.toLocaleTimeString()}`); }
 .as-console-wrapper { max-height: 100% !important; top: 0; }

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda