1

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
ありがとう。

4

2 に答える 2

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();
    }
});​

フィドル: http://jsfiddle.net/jonathansampson/CuDdD/2/

于 2012-06-07T03:58:50.053 に答える
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]
于 2012-06-07T03:49:41.980 に答える