2

我目前正在尝试通过 Javascript 自动更新日期。下面的代码是一个数字每次增加 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);

如何使用第二个代码更新字段中的日期?

非常感谢

4

1 回答 1

0

在您的 HTML 中,表格日期值是我们将其解释为日期的字符串。您需要将该字符串解析为 JS Date 对象,添加一个月并重新转换为原始字符串格式。

如果,正如你所说,日期总是在一个月的第一天,那么你可以通过在一个函数中解析和转换来缩短这个过程:

  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 回答