0

我正在使用jquery 工具日期输入。在我的应用程序中,我有一个功能允许用户根据日期范围检查他的个人数据。

我有一个输入文本字段,它加载日期输入功能。当用户选择一个日期时,它会在文本字段中以“dddd dd, mmmm yyyy”格式显示。
我想要做的是添加 7 天(即一周)并在上限容器中显示新日期,以进一步解释它的外观:

从:2012 年 5 月 18 日星期五到://这里是我想要的地方:2012 年 5 月 25 日星期五

我正在尝试使用内置的 api 函数:addDay(amount)但它似乎不起作用。我有以下代码:

var ret_date = $(this).data("dateinput").getValue('dddd dd, mmmm yyyy');
//I tried: $(this).data("dateinput").addDay(7).getValue('dddd dd, mmmm yyyy')
//but it kept the same currently selected date
$("#to_field").html(ret_date);

我在网上搜索过,但找不到解决方案。我通常不是前端开发人员,所以我对 javascript/jquery 的了解并不先进。
任何帮助深表感谢

4

1 回答 1

1

顺便说一句,这就是我最终做的事情并且它奏效了:

$("#DateField").change(function(event, date) {
        //I used format: yyyy-mm-dd
        var ret_date= $(this).data("dateinput").getValue('yyyy-mm-dd');   
        //Format the date using javascript
        //--> For that 2 javascript prototypes have been created(check at the end of the answer)          
        var myDate = new Date(ret_date);
        myDate.setDate(myDate.getDate()+7);
        $("#FinalDateField").html(myDate.dateFormat("Y-m-d"));
});

原型:

Date.prototype.dateFormat = function(format) {
  var result = "";
  for (var i = 0; i < format.length; ++i) {
    result += this.dateToString(format.charAt(i));
  }
  return result;
}

Date.prototype.dateToString = function(char) {
  switch (char) {
  case "Y":
    return this.getFullYear();
  case "m":
    return this.getMonth() + 1; //Since months are zero based, add 1
  case "d":
    return this.getDate();
  default:
    return char;
 }
}
于 2012-07-28T23:07:19.023 回答