我的日期格式为MM / DD / YYYY。我需要使用javascript将其转换为。 (更确切的例子:05/25/2012 - >“2012年5月25日”)我知道如何转换日期,但问题是:
是否有更有效的方法,无论是使用javascript函数还是其他东西,将MM / DD / YYYY转换为上面的格式而不是使用switch语句并连接字符串?
答案 0 :(得分:1)
您可能会发现parseDate formatDate中的Datepicker和jQuery UI函数具有吸引力,例如
var date = $.datepicker.parseDate('mm/dd/yy', '05/25/2012');
$.datepicker.formatDate('MM d yy', date);
这完全取决于你如何定义'有效':
$(selector).datepicker($.datepicker.regional['fr']);
* 答案 1 :(得分:0)
奇怪的是,我刚在半小时前发布了related question。这是我正在使用的,但它也解析了一段时间。
// Date m/d/Y Time h:m a
function parseDate(date,time) {
date = date.split("/");
time = time.split(" ");
hm = time[0].split(':');
if (parseInt(hm[0],10) == 12) {
hm[0] = 0;
}
if (time[1] == 'pm') {
hm[0] = parseInt(hm[0],10) + 12;
} else {
hm[0] = parseInt(hm[0],10);
}
return new Date(
parseInt(date[2],10),
parseInt(date[0],10)-1,
parseInt(date[1],10),
hm[0],
parseInt(hm[1],10)
);
}
因此,您可以轻松删除time
行,并拥有以下内容......
function parseDate(date) {
date = date.split("/");
return new Date(
parseInt(date[2],10),
parseInt(date[0],10)-1,
parseInt(date[1],10)
);
}
答案 2 :(得分:0)
通过访问数组,您可以执行此操作
var monthArray = ['January', 'February', ... , 'December'];
var date = "05/25/2012";
var dateParts = date.split('/');
var convertedDate = monthArray[parseInt(dateParts[0], 10)] + " " + dateParts[1] + ", " + dateParts[2];