【问题标题】:How to change current month date to another month如何将当前月份日期更改为另一个月份
【发布时间】:2014-06-23 08:46:43
【问题描述】:

我想选择任何日期并将其转换为下个月的同一日期。例如-我选择 2014 年 6 月 1 日,然后显示 2014 年 7 月 1 日,依此类推..

Fiddle

HTML

<input type='text' id='txtDate' readonly='true' />
<input type='button' id='btnConvert' value='Convert' /><br/>
Current Date : <span id='spnCurrentDate'></span><br/>
Next Month Date : <span id='spnNewDate'></span>

JS

    $("#txtDate").datepicker({
              changeMonth: true
    });

    $("#btnConvert").click(function(){
    $("#spnCurrentDate").html($("#txtDate").val());
    $("#spnNewDate").html($("#txtDate").val());

【问题讨论】:

  • 请注意,您不能简单地将 1 添加到月份 - 2014-01-31 + 1 个月 -> 2014-02-31 转换为 2014-03-03。因此,如果您滚动到下个月,您可能希望将日期设置为上个月的最后一天。

标签: javascript jquery css html


【解决方案1】:

如果您只是询问如何将一个月添加到 Date 对象,您不能只将一个月添加到 2014-01-31 + 1 月 -> 2014-02-31 转换为 2014- 03-03。

因此,如果您滚动到下个月,您可能希望将日期设置为上个月的最后一天:

function addOneMonth(date) {
  var o = new Date(+date);
  date.setMonth(date.getMonth() + 1);

  // If have rolled over an extra month, set to last
  // day of previous month
  if (date.getDate() != o.getDate()) {
   date.setDate(0);
  }
  return date;
}

addOneMonth(new Date(2014,0,31)); // 2014-02-28

或者不...

【讨论】:

    【解决方案2】:

    DEMO here

     var date1 = new Date();
     date1.setMonth(date1 .getMonth() + 1);
    

    现在 date1 是一个保存 1 个月后日期的对象

    如果你想将它设置为 jQuery UI DatePickers,你可以这样做

    $("#txtDate").datepicker({
        changeMonth: true
    });
    
    $("#btnConvert").click(function(){
        var date1 = new Date($("#txtDate").val());
        date1.setMonth(date1 .getMonth() + 1);
    
        $("#txtDate").datepicker("setDate", date1 );
    
    });
    

    【讨论】:

    • 太好了,2014-01-31 + 1 个月是 2014-03-03。
    【解决方案3】:

    试试这个演示:http://jsfiddle.net/PQfDc/151/

    $("#txtDate").datepicker({
        changeMonth: true,
        minDate:'0',
        onClose: function( selectedDate ) {
            var d = new Date(selectedDate)
            d.setMonth(d.getMonth() + 1);
            $("#txtDate").datepicker("setDate", d );
            $("#spnSelectedDate").text(selectedDate);
            $("#spnNewDate").text($('#txtDate').val());
        }
    });
    
    
    $("#txtDate1").datepicker({
        changeMonth: true,
        minDate:'0' 
    });
    
    $("#btnConvert").click(function(){
        var d1 = new Date($("#txtDate1").val());
        var date = d1.getDate();
        var month = d1.getMonth()+1; 
        var year = d1.getFullYear();
        var newDate = month + "/" + date + "/" + year    
        $("#spnSelectedDate1").text($("#txtDate1").val());
        $("#spnNewDate1").text(newDate);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多