如何使用javascript将这种格式'10 -Aug-13'的日期或字符串转换为'mm-dd-yyyy'?
var date = new Date('10-Aug-13');
上面的代码使用IE10返回无效日期,但在其他浏览器上运行良好。
答案 0 :(得分:2)
您可以使用外部库吗?如果是的话,我会推荐这个http://www.datejs.com/,然后你会做这样的事情:
var date = Date.parse('10-Aug-13'); // works on IE8+, Chrome, Firefox, Opera
答案 1 :(得分:1)
我将假设这一年将永远是本世纪,您可以添加如下:
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,如下所示:
var parts, date;
parts = "10-Aug-99".split("-");
parts[2] = "1" + parts[2];
date = new Date(parts.join(" "))
此外,我还从日期字符串中删除了“ - ”,因为FF似乎不喜欢。
答案 2 :(得分:1)
希望以下js函数有帮助,日期参数应始终采用'DD-MMM-YY'格式
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"));
答案 3 :(得分:0)
试试这个...
date.format("mm-dd-yyyy");
答案 4 :(得分:0)
var date=new Date('10-Aug-13');
console.log((date.getMonth()+1)+'/'+date.getDate())+'/'+date.getFullYear()+);
OR
var d = new Date();
d.setMonth(8,10);
d.setFullYear(2013);
d.toString('MM-dd-yyyy');
答案 5 :(得分:0)
var date=new Date('10-Aug-13');
date = (date.getMonth()+1)+'/'+date.getDate())+'/'+date.getFullYear();