使用Javascript更新日期

时间:2012-08-11 14:59:16

标签: javascript html javascript-events

我目前正在尝试通过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);

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

非常感谢

1 个答案:

答案 0 :(得分: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。