javascript - IE Date.toLocaleTimeString().split 不返回字符串数组

标签 javascript arrays date internet-explorer

这直接来自 IE (Microsoft Edge 25.10) 中的控制台:

greg = new Date().toLocaleTimeString().split(':')[0];
"12"
greg = new Date().toLocaleTimeString().split(':')[0]=="12";
false
为什么?

最佳答案

因为字符串中有两个不可见字符:U-200E (从左到右标记)在开头和结尾:

new Date().toLocaleTimeString().split(':')[0] == "\u200e12\u200e" // true

toLocaleTimeString定义为here通过 ECMA-402如果浏览器支持 ECMA-402;否则,完全取决于实现。 IE 不支持 ECMA-402,因此它可以在它喜欢的字符串中放入任何内容。包括从左到右的标记似乎是一件奇怪的事情,但是......

关于javascript - IE Date.toLocaleTimeString().split 不返回字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40461789/

相关文章:

javascript - 后台通过JS加载并解析URL

ios - 在 Swift 中过滤对象数组并对它们的属性求和

arrays - JSON 到 Swift 中的数组

arrays - 如何在 VBA 中重新保存锯齿状数组(数组中的数组)?

java - 使用AtomicLong生成ID,如何每天从0开始

javascript - 从 Excel 导出 XML 并保持日期格式

javascript - 根据每个项目中的属性值将 JSON 数组中的项目提取到新变量中?

javascript - 如何显示一个div直到只关闭一次

javascript - 通过 JavaScript 提交表单

Java的getDate返回错误的日期