IE 中的 Javascript 日期解析问题

标签 javascript jquery regex internet-explorer firefox

我有一个 JavaScript 字符串 2015-07-22 00:00:00.0。我需要将其转换为 mm/dd/yy 格式

我尝试使用 var d = new Date(from_date); 进行解析,它在 Chrome 中有效,但在 IE 或 Firefox 中无效

然后我尝试使用正则表达式模式替换,但它仍然仅在 Chrome 中有效,而在 IE 或 Firefox 中无效

var st = '2015-07-22 00:00:00.0'
var pattern = '\d{4})\-(\d{2})\-(\d{2})/'
var dt = new Date(st.replace(pattern, '$2-$3-$1'));
var output = dt.getMonth() + 1 + '/' + dt.getDate() + '/' + dt.getFullYear();
alert(output) 

JSFiddle

请提供一些线索。

最佳答案

如果日期始终采用该格式,您可以将其提取子串并使用 standard date format让它工作。

var r = "2015-07-22 00:00:00.0"
var date = new Date(r.substring(0, 4),   //year
                    r.substring(5, 7),   //month
                    r.substring(8, 10),   //day
                    r.substring(11, 13), //hour
                    r.substring(14, 16), //min
                    r.substring(17, 19), //sec
                    r.substring(20));    //mili

关于IE 中的 Javascript 日期解析问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31457721/

相关文章:

javascript - jQuery 显示/隐藏没有特定类/id 的多个元素

javascript - 在函数参数中传递插件名称 [jQuery]

javascript - Jquery获取文本值

javascript - 只允许在输入字段中输入数值

python - 匹配字符串中的多个组

javascript - 正则表达式匹配太多

JavaScript 和 Google map v3 : capture result of tilesloaded() event?

javascript - 如何在第一次点击时切换 div 显示?

javascript - Uncaught ReferenceError : timerFunc is not defined

javascript - 如何延迟元素上的默认浏览器滚动?