В IE 11 я получаю забавные результаты с помощью ToLocaleDateString(). Возвращаемая строка отлично выглядит в браузере, например. «28.01.2014 11:00:46», но затем, если я скопирую и вставлю это значение в обычный текстовый редактор, оно будет выглядеть так: «?1?/?28?/?2014 ?11?:? 00?:?46? ?AM".
Интересно, что если я вставляю текст в продукт Microsoft, он выглядит нормально... Проблема в том, что если вы попытаетесь использовать значение программно для создания даты, оно будет недействительным. Вы можете проверить это, просто открыв консоль в IE11 и создав новую дату, используя для нее ToLocaleDateString(), а затем попытавшись использовать полученную строку для создания новой даты в javascript или на выбранном вами языке (я м, используя ASP.NET здесь...).
Я делаю что-то не так, или я должен каким-то другим образом взаимодействовать с датой javascript? Как я могу избавиться от этих причудливых символов?
Редактировать: благодаря комментарию ниже я смог выяснить, что представляют собой непоказанные символы, они расположены слева направо. В зависимости от редактора, в который я вставляю значения, и кодировки, на которую настроен редактор, текст будет отображаться по-разному: иногда с «?», иногда без.
var str=(new Date).toLocaleDateString();for(var i=0;i<str.length;i++)console.log(i,str.charCodeAt(i),str.charAt(i))
и опубликуйте его результаты здесь - person Bergi   schedule 28.01.2014