As explained in some threads, Internet Explorer adds some invisible extra characters when returning a date from the JavaScript function new Intl.DateTimeformat
.
1 2 3 4 5 | var day = "Thursday" ; var intlDay = new Intl.DateTimeFormat( 'en-US' , {weekday: "long" }).format( new Date(2019,1,7)); console.log(day === intlDay); // return FALSE with IE intlDay = intlDay.replace(/\u200E/g, '' ); // replace \u200E console.log(day === intlDay); // return TRUE with IE |
The trick is to replace \u200E
in the returned string.