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

63
Vistas
Devolver AM/PM con IntlDateTimeFormat

Estoy usando IntlDateTimeFormat con algunas opciones de fecha y hora. Sin embargo, tengo dificultades para obtener el formato que quiero al final.

A continuación se muestra el código que tengo actualmente. El resultado que busco es devolver una cadena con el siguiente formato:

Sept 27, 2022 at 12:20 PM

Hasta ahora, el código actual está regresando:

27 Sept 2022 at 12:20

Tenga en cuenta que falta AM/PM (en mayúsculas también sería genial)

 public dateOptions = {
 month: 'short',
 year: 'numeric',
 day: '2-digit',
 } as const;

 public timeOptions = {
 hour: 'numeric',
 minute: 'numeric',
 dayPeriod: 'narrow',
 } as const;

 private newDateString() {
 const now = new Date();
 const tz = Intl.DateTimeFormat().resolvedOptions().locale;
 const date = Intl.DateTimeFormat(tz, this.dateOptions).format(now);
 const time = Intl.DateTimeFormat(tz, this.timeOptions).format(now);
 return `${date}` + ' at ' + `${time}`;
 }

almost 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Se eliminó dayPeriod: 'narrow' y luego se agregó la opción para usar el tiempo en formato de 12 horas hourCycle: 'h12' .

  • dayPeriod: 'narrow' daría formato a la hora en el formato de texto dependiendo de la configuración regional.
  • hourCycle: 'h12' | 'h11' | 'h23' | 'h24' daría formato a la hora en el formato de 12/24 horas

 var dateOptions = {
 month: 'short',
 year: 'numeric',
 day: '2-digit',
 };

var timeOptions = {
 hour: 'numeric',
 minute: 'numeric',
 hourCycle: 'h12'
};

function newDateString() {
 const now = new Date();
 const tz = Intl.DateTimeFormat().resolvedOptions().locale;
 const date = Intl.DateTimeFormat(tz, this.dateOptions).format(now);
 const time = Intl.DateTimeFormat(tz, this.timeOptions).format(now);
 console.log(`${date}` + ' at ' + `${time}`);
}

newDateString(new Date())

almost 4 years ago · Santiago Trujillo Denunciar

0

dayPeriod: 'narrow' El estilo de formato utilizado para los períodos del día como "en la mañana", "am", "mediodía", "n", etc., cámbielo a hora12: verdadero

 dateOptions = {
 day: '2-digit',
 year: 'numeric',
 month: 'short',
}
timeOptions = {
 hour: 'numeric',
 minute: 'numeric',
 hour12: true
 //dayPeriod: 'narrow',
}

function newDateString(tz) {
 const now = new Date();
 //const tz = Intl.DateTimeFormat().resolvedOptions().locale;
 const date = Intl.DateTimeFormat(tz, this.dateOptions).format(now);
 const time = Intl.DateTimeFormat(tz, this.timeOptions).format(now);
 return `${date} at ${time}`;
}
function justAnExampleAsTheOpWatnsThis() {
 const now = new Date();
 const date = Intl.DateTimeFormat("en-GB", this.dateOptions).format(now);
 const time = Intl.DateTimeFormat("en-US", this.timeOptions).format(now);
 return `${date} at ${time}`;
}
console.log(newDateString("en-US"));
console.log(newDateString("en-GB"));
console.log("Op want this :" + justAnExampleAsTheOpWatnsThis());

almost 4 years ago · Santiago Trujillo 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