javascript-将日期添加到日期和日期格式不起作用

javascript-将日期添加到日期和日期格式不起作用,javascript,Javascript,我有一个表单,其中包含字段.daysfromtoday和\datefromtoday 我想在.daysfromtoday中输入天数,并用日期yyyy mm dd格式更新#datefromtoday。(我知道还有其他关于这个主题的帖子,但是,如果可能的话,我希望有人帮助我编写代码,以了解更多信息) HTML: 问题:(和解决方案) 我得到了奇怪的结果:今天是2016-02-26,如果我输入100,我得到2087-7-17 结果格式应为0(零):2016-03-08 您可能会在日期中添加string

我有一个表单,其中包含字段
.daysfromtoday
\datefromtoday

我想在.daysfromtoday中输入天数,并用日期yyyy mm dd格式更新#datefromtoday。(我知道还有其他关于这个主题的帖子,但是,如果可能的话,我希望有人帮助我编写代码,以了解更多信息)

HTML: 问题:(和解决方案)

  • 我得到了奇怪的结果:今天是
    2016-02-26
    ,如果我输入100,我得到
    2087-7-17

  • 结果格式应为0(零):2016-03-08


  • 您可能会在日期中添加
    string
    ,而不是
    number
    。尝试使用
    parseInt
    函数:

    ...
    enddate.setDate(enddate.getDate() + parseInt(waitdays, 10));
    ...
    

    您可能会在日期中添加
    string
    ,而不是
    number
    。尝试使用
    parseInt
    函数:

    ...
    enddate.setDate(enddate.getDate() + parseInt(waitdays, 10));
    ...
    

    我知道这不是你问题的正确答案,但这个库值得一看,它使处理日期变得更容易:试试
    var waitdays=parseInt($(“.daysfromtoday”).val()尝试使用
    parseInt()
    进行输入…@brso05谢谢!你对第2点和第3点有什么建议吗?谢谢@codeispoetry
    如果(mm<10){monthFormatted=“0”+mm;}其他{monthFormatted=”“+mm;}
    则在输出中使用
    monthFormatted
    ,而不是
    mm
    。这一天也一样……同时去掉
    .toString()
    不要将其转换为
    字符串
    ->
    var mm=(enddate.getMonth()+1)3
    getElementsByClassName()
    $(“.whatever”)
    返回元素集合…可以尝试以下操作:
    $(“.daysfromtoday”).on('change',function(){//var waitdays=$(this).val()
    这个
    应该是触发
    更改事件的元素。我知道这不是你问题的正确答案,但这个库值得一看,它让处理日期变得更容易:试试
    var waitdays=parseInt($(“.daysfromtoday”).val();
    试试使用
    parseInt()
    谢谢您的输入…@brso05!您对第2点和第3点有什么建议吗?谢谢!@codeispoetry
    如果(mm<10){monthformat=“0”+mm;}或者{monthformat=”“+mm;}
    则在输出中使用
    monthformat
    ,而不是
    mm
    。当天一样……也要去掉
    .toString()
    不要将其转换为
    字符串
    ->
    var mm=(enddate.getMonth()+1);
    3.
    getElementsByClassName()
    $(.whatever”)
    返回元素集合…可以尝试以下操作:
    $(.daysfromtoday”).on('change',function(){//var waitdays=$(this).val()
    应该是触发
    更改
    事件的元素。谢谢。或者我在变量定义中加入了PARINT。您对第2点和第3点有什么建议吗?谢谢!2)与使用
    getDate
    getMonth
    getFullYear
    不同,我建议您使用
    toISOString的
    子字符串
    ,如下所示:
    enddate.toISOString().substr(0,10)
    然后获得
    string
    例如
    “2016-02-26”
    3)使用
    getElementsByClassName
    将返回一个结果数组,因为给定类可能有多个元素,因此如果100%确定只有一个元素,请将其称为
    document.getElementsByClassName(“datefromtoday”)[0]
    谢谢你的第3点。#2有效,但对我来说不行,因为它给了我UTC,与我的时间不同。谢谢!谢谢。或者我在变量定义中加入了parsInt。你对第2点和第3点有什么建议吗?谢谢!2)不要使用
    getDate
    getMonth
    getFullYear
    我建议你使用
    toISOString
    的子字符串
    如下:
    enddate.toISOString().substr(0,10)
    然后得到
    字符串
    例如
    “2016-02-26”
    3)使用
    getElementsByClassName
    将返回一个结果数组,因为给定类可能有多个元素,因此如果100%确定只有一个,请将其称为
    document.getElementsByClassName(“datefromtoday”)[0]
    谢谢#3.#2可以工作,但对我来说不行,因为它给了我UTC,与我的时间不同。谢谢!
    ...
    enddate.setDate(enddate.getDate() + parseInt(waitdays, 10));
    ...