我有span
,其中包含日,月和缩写。当天:
<span>8.06 (Fr) </span>
我想解析它并以下列格式获取此日期的字符串表示: 2012年6月8日。没有年份,只需插入当年。
我该怎么做?
这是我的代码:
date = $(this).closest("li").find("span").text();
var d = new Date();
date = date + '.' + d.getFullYear();
它打印以下内容:8.06 (Fr) .2012
感谢。
答案 0 :(得分:1)
$(".date").text(function(i,v){
var m = v.match(/(\d+)\.(\d+)/);
if ( m ) {
var date = new Date( (new Date()).getFullYear(), --m[2], m[1]);
return date.toDateString();
}
});
小提琴:http://jsfiddle.net/jonathansampson/CuDdD/
如果您想要完整的月份名称,则需要提供自己的月份数组:
var m, mo = ['January','February','March', 'April', 'May', 'June',
'July', 'August', 'September','October','November','December'];
$(".date").text(function(i,v){
if ( m = v.match(/(\d+)\.(\d+)/) ) {
return m[1] + " " + mo[ --m[2] ] + " " + (new Date()).getFullYear();
}
});
答案 1 :(得分:0)
这应该足以让你入门。
var date = '8.06 (Fr) ';
var date_components = date.replace(/\s*\(.*?\)\s*/, '').split('.');
for (var i in date_components) {
date_components[i] = parseInt(date_components[i], 10);
}
date_components.push((new Date()).getFullYear());
console.log(date_components); // Prints [8, 6, 2012]