javascript - Ändra månad från numeriskt värde till 3 bokstäver


Jag får värdet av date time från servern i en variabel a1:

let a1 = (new Date(estimatedServerTimeMs));

console.log av a1 Sun Apr 05 2020 11:36:56 GMT+0530 (India Standard Time)

Jag bryter ner det till ett enkelt datumformat som detta 5-3-2020 men jag vill att det ska vara som 05-APR-2020

Nedan är min kod:

 let a1 = (new Date(estimatedServerTimeMs));
      console.log(a1);
      let show_year_month_date =  a1.getDate()+'-'+ a1.getMonth() +'-'+ a1.getFullYear();
      console.log(show_year_month_date);

Hur kan jag:

  1. ändra datum till 2 siffror
  2. ändra månad från numerisk till 3 tecken värde

Svar #1

Prova på detta sätt

let a1 = (new Date(estimatedServerTimeMs));

const dtf = new Intl.DateTimeFormat('en', { year: 'numeric', month: 'short', day: '2-digit' });
const [{ value: month },,{ value: day },,{ value: year }] = dtf.formatToParts(a1);

let show_year_month_date = day + '-' + month.toUpperCase() + '-' + year;

console.log(show_year_month_date);