沒有必要使用庫:
var startDate = "January 16, 2013";
var d = new Date(startDate);
var month = d.getMonth() + 1;
var day = d.getDate();
var year = d.getFullYear();
alert(month + "-" + day + "-" + year);
http://jsfiddle.net/mPBSf/
下面將您的日期格式轉換成有效的ECMAScript日期格式:
var startDate = "ApRiL 16, 2013";
var noCommas = startDate.replace(/\,/g,'');
var withDashes = noCommas.replace(/ /g,"-");
function monthsToNumbers(date)
{
var months = ["january","february","march","april","may","june","july","august","september","october","november","december"];
var year;
date = date.toLowerCase();
for(var i = 0; i < months.length; i++)
{
if(date.indexOf(months[i]) != -1)
{
if(i+1 < 10)
date = date.replace(months[i],"0" + (i+1));
else
date = date.replace(months[i],i+1);
}
}
year = date.match(/\d{4}/);
date = date.replace(year, "");
date = year + "-" + date;
date = date.substring(0,date.length-1);
return date;
}
var d = new Date(monthsToNumbers(withDashes));
var month = d.getMonth() + 1;
var day = d.getDate();
var year = d.getFullYear();
alert(d);
http://jsfiddle.net/kWzSv/1/
旁註的創造者:Date.js尚未保持多年,並有一對夫婦在午夜解析錯誤。你可能會看[Moment.js](http://momentjs.com/)。 –
@EmersonF,如果您在輸入時能夠更改日期格式,則應確保遵循以下規範:http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15 –