2

現在、Javascript を使用して日付を自動的に更新しようとしています。次のコードは、数値が毎回 1 ずつ増加する例ですが、次の列の日付も毎回 1 か月ずつ増加させて更新する必要があります。

function repeater_update_order( repeater )
{
    repeater.find('> table > tbody > tr.row').each(function(i){
        $(this).children('td.order').html(i+1);
    });

};

次の Javascript を使用して日付を更新できることを知っています。

var x = 1; //or whatever offset
var CurrentDate = new Date();
CurrentDate.setMonth(CurrentDate.getMonth()+X);

この 2 番目のコードを使用して、フィールドの日付を更新するにはどうすればよいですか?

どうもありがとう

4

1 に答える 1

0

HTML では、テーブルの日付値は、日付として解釈される文字列です。その文字列を JS Date オブジェクトに解析し、1 か月を追加して、元の文字列形式に再変換する必要があります。

あなたが言うように、日付が常に月の最初にある場合は、1 つの関数で解析して変換することでプロセスを短縮できます。

  function nextMonth (d) {
    d = d.match (/^(.*)(\d\d)/(\d\d)/(d\d\d\d)(.*)$/
    return d ? d[0] + d[1] + '/' + (d[2] < 11 ? +d[2] + 1 : 1) + '/' + (d[2] >= 11 ? 1 + +d[3] : d[3]) + d[4];
  }

これは、データが常に dd/mm/yyyy の形式で文字列に格納されていることを前提としています。フォーマットが異なる場合は、それに応じて調整する必要があります。

フォーマットが複雑であるか一貫性がない場合は、Datejs などの日付ライブラリの使用を検討してください。

于 2012-08-11T18:54:56.903 に答える