首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用javascript对IE10不起作用的日期格式化

使用javascript对IE10不起作用的日期格式化
EN

Stack Overflow用户
提问于 2013-08-13 07:12:15
回答 6查看 2.6K关注 0票数 0

如何使用javascript将格式为“10-8月-13”的日期或字符串转换为“mm”?

代码语言:javascript
运行
复制
 var date =  new Date('10-Aug-13');

上面的代码使用IE10返回无效日期,但在其他浏览器上运行良好。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-08-13 07:41:17

你能使用外部库吗?如果是的话,我会推荐这个http://www.datejs.com/,那么您可以这样做:

代码语言:javascript
运行
复制
var date = Date.parse('10-Aug-13'); // works on IE8+, Chrome, Firefox, Opera
票数 2
EN

Stack Overflow用户

发布于 2013-08-13 07:35:52

我假设今年将永远是本世纪的一年,你可以补充如下:

代码语言:javascript
运行
复制
var currentYear, parts;

currentYear = new Date().getFullYear().toString();
parts = "10-Aug-13".split("-");
parts[2] = currentYear.substring(0, currentYear.length - 2) + parts[2];

var date = new Date(parts.join(" "));

但是,如果您不关心这个世纪,就可以将其默认为1,如下所示:

代码语言:javascript
运行
复制
var parts, date;
parts = "10-Aug-99".split("-");
parts[2] = "1" + parts[2];
date = new Date(parts.join(" "))

此外,我还删除了日期字符串中的"-“,因为FF似乎不喜欢这样。

票数 1
EN

Stack Overflow用户

发布于 2013-08-13 08:21:35

希望下面的js函数有所帮助,DD-MMM-YY格式的日期参数应该总是这样。

代码语言:javascript
运行
复制
function formatDate(dateparam) {
    var m_array = ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
                   "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
    var dtparts = dateparam.split('-');
    var dateObj = new Date("20" + dtparts[2], m_array.indexOf(dtparts [1]), dtparts[0]);

    var date = dateObj.getDate();
    date = (date.toString().length == 1) ? "0" + date : date;
    var month = dateObj.getMonth() + 1;
    month = (month.toString().length == 1) ? "0" + month : month;
    var year = dateObj.getFullYear();

    return month + "-" + date + "-" + year;
}
document.write(formatDate("10-Aug-13"));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18202805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档