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
您可能会在日期中添加
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)代码>3getElementsByClassName()
和$(“.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));
...