javascript - 日期函数未按预期工作

标签 javascript

我设计了一段代码,它显示基于用户选择的选择日期的结束日期。我使用 JavaScript 中的新 Date() 函数进行了尝试,效果非常好。但是,当我尝试使用用户选择的日期(我已将其转换为与 Javascript 中相同的格式)时,日期不会按应有的方式显示。

这里的代码:

<script> 

$('#dSuggest').on("input", function() {
  var dInput = this.value;

  var Month = dInput.substring(5, 7); 
  var Date = dInput.substring(8, 10);
  var Year = dInput.substring(0, 4);

  var ProperDate = Month+"/"+Date+"/"+Year;

  console.log(dInput);
  $('#output').text(ProperDate);

  //var someDate = new Date(ProperDate);
  var StartDate = new Date();
  var StartDate = StartDate.toLocaleDateString();

  if(StartDate > '1/31/2016' ){
    var numberOfDaysToAdd = 365;
    ProperDate.setDate(ProperDate.getDate() + numberOfDaysToAdd); 
    //var someDate = ProperDate.toLocaleDateString();
  } else { 
    var n = someDate.getDate();
    var numberOfDaysToAdd = n;
    ProperDate.setDate(ProperDate.getDate() - numberOfDaysToAdd); 
    //var someDate = someDate.toLocaleDateString();
  }
  document.getElementById("demo").innerHTML = someDate; 
});

</script>

最佳答案

基本上你正在做

var ProperDate = Month+"/"+Date+"/"+Year;

ProperDate.setDate(ProperDate.getDate() + numberOfDaysToAdd);

但是ProperDate不是一个日期对象,它是一个字符串,如果你想使用日期方法,你应该创建一个日期对象,而不是字符串

$('#dSuggest').on("input", function() {
    var dInput = this.value;
    var Month = dInput.substring(5, 7);
    var Date = dInput.substring(8, 10);
    var Year = dInput.substring(0, 4);

    var ProperDate = new Date(Year, Month-1, Date);
    var endDate    = new Date(2016, 0, 31);

    $('#output').text(Month + "/" + Date + "/" + Year;);

    var StartDate = new Date();

    if (StartDate > endDate) {
        var numberOfDaysToAdd = 365;
    } else {
        var numberOfDaysToAdd = n;
    }
    ProperDate.setDate(ProperDate.getDate() + numberOfDaysToAdd);
    document.getElementById("demo").innerHTML = properDate;
});

关于javascript - 日期函数未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35084716/

相关文章:

javascript - 查找点击导致模糊的元素

javascript - SVG 捕获鼠标坐标

javascript - Jquery 不绑定(bind)事件 onload

javascript - 如何生成 ids/数值并将其附加到 jsp 中的输入 id 属性

javascript - rails 4 : jquery-turbolinks causing "Uncaught TypeError: Cannot read property ' length' of undefined"

javascript - 动态适应容器中的碰撞元素

javascript - 选择具有模板生成的 ID 的元素

javascript - 访问与实例变量同名的全局变量

javascript - 如何将一个对象数组追加到一个已经存在的数组中?

javascript - 单击菜单中的按钮时动画无法正常工作