解析字符串日期
问题描述:
我有一个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
感谢。
答
$(".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();
}
});
答
这应该足以让你开始。
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]
+0
如何将6改为月份名称(6月)?谢谢 – user1260827
+0
@ user1260827 - 像这样:'[“Jan”,“Feb”,...,“Jun”,...“Dec”] [6-1]' –
是,我也想打印不是06,但是6月 – user1260827