2016-09-19 58 views
2
返回相應穩固characher

我預計toLocaleString返回「星期一」(6個字符),的toLocaleString在IE

但IE返回一些意想不到的人物對我來說,

我怎樣才能正確地得到平日沒有其他擴展API( moment.js等。)

IE11:

var weekday = new Date('2015-11-23').toLocaleString("en-us", { weekday: 'long'}); 

weekday.toString() //"Monday" 
weekday.length //7 
weekday.charCodeAt(0) //8206 <-- what is this 

Chrome53:

var weekday = new Date('2015-11-23').toLocaleString("en-us", { weekday: 'long'}); 

weekday.toString() //"Monday" 
weekday.length //6 
weekday.charCodeAt(0) //77 
+1

你爲什麼在意?你只用它來顯示日期,對吧? – Bergi

+0

因爲我需要對它們進行排序,比如('Monday','Tuesday'...)或('Sunday','Monday'...) –

回答

0

OK,我做了一些調查:

字符8206是Left-to-right mark,很有可能是由MS加入作爲其國際化規則的一部分。

它可以很容易地被剝離。

var stripped = weekday.replace(/\u200E/g, ""); 
console.log(stripped.length) 

請注意:您可能還會遇到字符8207,這是從右到左的標記 - 可以輕鬆地刪除。

+0

非常感謝:) –