【问题标题】:+1 Day on JQuery DatePicker在 JQuery DatePicker 上 +1 天
【发布时间】:2017-12-20 13:16:24
【问题描述】:

我想在所选日期的后一天发出。

$('#toDate').datepicker({
    inline: true,
    altField: '#x',
    dateFormat: "dd-mm-yy", //day
    altFormat: "yy-mm-dd", //year
    monthNames: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"],
    dayNamesMin: ["Pa", "Pt", "Sl", "Ça", "Pe", "Cu", "Ct"],
    firstDay: 1,
    numberOfMonths: 1,
    onSelect: function(dateText, inst) {
        var dateup = ('0' + (parseInt(inst.selectedDay) + 1)).slice(-2);
        var monthup = ('0' + (parseInt(inst.selectedMonth) + 1)).slice(-2);
        var newdate = inst.selectedYear+'-'+monthup+'-'+dateup;
        socket.emit('sockettoDate', newdate);
    }
});

此代码无法计算每月最后一天之后的日期。

例如,如果选择 2017-12-31,则结果为 2017-12-32。有什么解决办法吗?

【问题讨论】:

  • 创建一个适当的 Date 对象,而不是在字符串连接级别上执行此操作 - 它会为您处理此类“溢出”。

标签: javascript jquery datepicker jquery-ui-datepicker


【解决方案1】:

如果您的日期格式与您在示例中给出的相同,那么您可以使用以下函数将日期添加到日期中。获取新日期后,您可以使用新添加的日期

function addDays(date, days) {
  var result = new Date(date);
  result.setDate(result.getDate() + days);
  return result;
}

使用

addDays(new Date('2017-12-31'),1);

输出

2018 年 1 月 1 日星期一 00:00:00 GMT+0530(印度标准时间)

【讨论】:

    【解决方案2】:

    这是因为您处理事情的方式是使用数字,而不是日期。要修复它,您需要先将其转换为日期。

    要从 jquery datepicker 插件中获取日期,请使用:

    var currentDate = $("#toDate").datepicker('getDate').getDate();
    

    然后您可以在此答案之后添加天数:Incrementing a date in JavaScript

    我刚刚完成了一个非常复杂的 jquery 日历,我发现 momentjs 是一个救星,所以我建议你也买它。有了它,您可以执行以下操作:currentDate.add(1, 'days');,这让开发人员的生活变得更加轻松。

    【讨论】:

      【解决方案3】:

      您可以为此使用 JavaScript Date 对象。

      onSelect: function(dateText, inst) {
          var date = new Date(dateText);
          var newdate = new Date(date);
      
          newdate.setDate(newdate.getDate() + 31 );
      
          socket.emit('sockettoDate', newdate);
      }
      

      但我的建议是,使用 momentjs 进行任何日期和时间计算。很棒的日期和时间处理库。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-22
        • 2021-01-10
        • 1970-01-01
        • 1970-01-01
        • 2019-01-19
        • 1970-01-01
        相关资源
        最近更新 更多