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

222
Visualizações
Convierta la hora a la configuración regional de la hora del usuario en Javascript

Hay una marca de tiempo que se convierte a una fecha de formato DD/MM/YYYY usando el objeto Date .

¿Hay alguna forma de convertir al formato de fecha de la configuración regional del usuario?

Aquí está el código:

 const getDateFromTimestamp = (timeStamp: number) => { const date = new Date(timeStamp * 1000); const day = ('0' + date.getDate()).slice(-2); const month = ('0' + (date.getMonth() + 1)).slice(-2); const year = date.getFullYear(); return day + '/' + month + '/' + year; };

Supongo que debería usar Intl , algo así como Intl.DateTimeFormat(timeStamp).format() pero no estoy seguro

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

0

¿Hay alguna forma de convertir al formato de fecha de la configuración regional del usuario?

La respuesta corta es un "sí" muy calificado, pero el uso de la configuración de idioma predeterminada significa que los resultados no son confiables, por lo que no es un enfoque recomendable.

El término "locale" es de uso general y significa ubicación. En el mundo de la especificación API de internacionalización ECMA-402 (y, por lo tanto, EMCAScript) se usa como sinónimo (muchos dirían que es un nombre inapropiado) para lenguaje.

Puede determinar el idioma predeterminado para el host y usarlo con Intl.DateTimeFormat , o su proxy toLocaleString , para formatear. Sin embargo, asume que el usuario ha configurado el idioma en una configuración adecuada y desea ver las fechas en ese formato. También significa que usted, como desarrollador, no tiene idea de en qué formato se presentará la fecha al usuario.

Otro problema es si el usuario ha configurado el idioma predeterminado del host en una configuración adecuada. Es muy probable que no lo hayan hecho, especialmente si el dispositivo no es suyo. Por lo tanto, confiar en el idioma predeterminado para formatear bien puede producir resultados inesperados y no deseados.

Tiene mucho más sentido presentar las fechas en el mismo idioma que la página en un formato inequívoco, por ejemplo, los hablantes de inglés no se confundirán con el 2 de febrero de 2022 o el 2 de febrero de 2022, independientemente de su formato preferido (donde en-GB podría ser d/m /y, en-US m/d/y y en-CA ymd). Esto también cubre el caso en el que las páginas se presentan en varios idiomas: las fechas deben presentarse en un idioma y formato apropiado para el idioma seleccionado, no en otro idioma y formato basado en una configuración de idioma predeterminada.

De esa manera, puede asegurarse de que las fechas se presenten con sensatez en el contexto de la página.

about 4 years ago · Juan Pablo Isaza Relatório

0

Hay 2 formas de hacer el "Formato local" en Javasript.

1. Uso de Date.prototype.toLocaleDateString()

Este método es útil si también desea algo específico en las fechas y no hay una gran cantidad de fechas que desea formatear. El uso es bastante simple para este método:

  1. Obtiene la configuración regional del navegador (prefiero obtener esto usando globalThis.navigate.language ya que me devuelve el código de configuración regional que se usará al definir el formato.
  2. Usted crea el objeto de fecha y luego le adjunta la función toLocaleDateString() y pasa el parámetro Locale para obtener el resultado deseado.
  • Tenga en cuenta que este método también admite el paso en las options , pero si no se pasa, obtendrá la fecha formateada en Locale con solo Fecha, Mes y Año. Código de ejemplo:
 const getDateFromTimestamp = (timeStamp: number) => { const userLocale = globalThis.navigator.language // will give you locale, eg. 'en-US' or 'en-IN') const date = new Date(timeStamp * 1000); // your Date object return date.toLocaleDateString(userLocale); // will return the formatted date, eg: for 'en-IN', 22/2/2022 };

Para formateo avanzado, podemos usar options :

 const getDateFromTimestamp = (timeStamp: number) => { const options = { weekday: 'short', year: 'numeric', month: 'long', day: 'numeric' }; const userLocale = globalThis.navigator.language // will give you locale, eg. 'en-US' or 'en-IN') const date = new Date(timeStamp * 1000); // your Date object return date.toLocaleDateString(userLocale, options); // will return the formatted date, eg: for 'en-IN', "Tue, 22 February, 2022" };

2. Uso de DateTimeFormat().format(date)

También puede usar este método, donde primero crea el objeto de DateTimeFormat.DateTimeFormat y luego lo reutiliza donde quiera formatear la fecha. Por ejemplo:

 const userLocale = globalThis.navigator.language; const options = { year: 'numeric', month: 'long', day: 'numeric' }; const a = new Intl.DateTimeFormat(userLocale, options); const getDateFromTimestamp = (timeStamp) => { const date = new Date(timeStamp * 1000); // your Date object return a.format(date) };
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