Necesito obtener "junio" para "junio" y "lunes" para "lunes". El problema es que buscar en un objeto de palabras en inglés no funciona si el usuario tiene su idioma configurado en otro idioma que no sea inglés.
export const shortDate = (str: any) => { const d = new Date(str); const dateString = daysOfWeek[d.getDay()].toUpperCase() + ', ' + shortMonths[d.getMonth()] + ' ' + d.getDate() + nth(d.getDate()); return dateString; }; Necesito deshacerme del objeto shortMonths y el día de la dayOfWeek ya que será diferente cuando el usuario no hable inglés.
Echa un vistazo a Intl.DateTimeFormat :
var date = new Date(); var options = { weekday: 'short', month: 'short' }; console.log(new Intl.DateTimeFormat('en-US', options).format(date)); O como Sebastian señala arriba, date.toLocaleString :
const date = new Date() console.log(date.toLocaleString('en-US', { weekday: 'short' })) console.log(date.toLocaleString('en-US', { month: 'short' }))