Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript更新日期_Javascript_Html_Javascript Events - Fatal编程技术网

使用Javascript更新日期

使用Javascript更新日期,javascript,html,javascript-events,Javascript,Html,Javascript Events,我目前正试图通过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自动更新日期。下面的代码是一个示例,其中数字每次递增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);
如何使用第二个代码更新字段中的日期


非常感谢

在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];
  }
功能下个月(d){
d=d.match(/^(.*)(\d\d)/(\d\d)/(d\d\d)(.*))$/
返回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等日期库。

< P>在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];
  }
功能下个月(d){
d=d.match(/^(.*)(\d\d)/(\d\d)/(d\d\d)(.*))$/
返回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等日期库。< /P>取决于您想要如何设置日期,尽管有方法获取日期对象的字符串表示形式。请仔细查看该月份修改。它将从<代码> 3月31日< /C> >到<代码> 01ode>而不是

4月30日
。这起作用:
var d=new Date();d=new Date(d.getFullYear(),d.getMonth()+1,1)
@DCoder谢谢你的提示,我意识到这一点,但这并不重要,因为所有日期都是从月初开始的。你知道如何在函数中运行它吗?@mplungjan我应该如何在页面上的函数中使用它?我应该将当前日期放在单元格中,然后在调用的函数中找到它吗?这取决于关于如何格式化日期,尽管有一些方法可以获取日期对象的字符串表示形式。请仔细查看对该月份的修改。它将从
3月31日
滚动到
5月01日
,而不是
4月30日
。这样做:
var d=new date();d=new date(d.getFullYear(),d.getMonth())+1,1)
@d谢谢你的提示,我意识到这并不重要,因为所有日期都是从月初开始的。你知道如何在函数中运行它吗?@mplungjan我应该如何在页面上的函数中使用它?我应该将当前日期放在单元格中,然后在调用的函数中找到它吗?