1

how can I convert this italian date

Agosto 6, 2020

to this one

August 6, 2020

with javascript?

If I do

var date = new Date('August 6, 2020'); //output Thu Aug 06 2020 00:00:00 GMT+0200

but if I try in italian

var date = new Date('Agosto 6, 2020'); //output is invalid date

many thanks

silvered.dragon
  • 407
  • 1
  • 7
  • 19
  • You might get answer in this [post](https://stackoverflow.com/questions/17493309/how-do-i-change-the-language-of-moment-js) – Debasish Feb 28 '20 at 17:07

1 Answers1

0

You may create your own month translator

like this one

const translateITmonth = (function(){
  let topDate = new Date(2000, 0, 1);

  const months_translate = [ ] 

  for(let m=0;m<12;m++) {
    topDate.setMonth(m)
    months_translate[m] = { Italiano: new RegExp(topDate.toLocaleString('it-IT',{month:'long'}),'i'), English : topDate.toLocaleString('en-EN',{month:'long'}) }
  }

  function It_translate(dateIT) {
    for (let m of months_translate )
      { if ( m.Italiano.test(dateIT))  return dateIT.replace( m.Italiano, m.English ) }
    return dateIT
  }

  return It_translate
})();



// usage:

let str1 = 'Agosto 6, 2020'

console.log( translateITmonth(str1) )

// or 

var myDate = new Date(translateITmonth('Agosto 6, 2020') )

console.log( translateITmonth( myDate ) )
Mister Jojo
  • 20,093
  • 6
  • 21
  • 40
  • Re `var myDate = new Date(translateITmonth('Agosto 6, 2020') )`, don't do that, see [*Why does Date.parse give incorrect results?*](https://stackoverflow.com/questions/2587345/why-does-date-parse-give-incorrect-results) – RobG Feb 29 '20 at 23:46