2016-09-19 53 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

非常感谢:) –