Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery函数未设置/计算正确的日期_Javascript_Jquery - Fatal编程技术网

Javascript Jquery函数未设置/计算正确的日期

Javascript Jquery函数未设置/计算正确的日期,javascript,jquery,Javascript,Jquery,我有一个简单的功能,可以使用选择框将字段设置为从今天开始的几周日期。但它总是把日期定在今天 这是HTML <input type="text" name="rfq[ship_date]" id="rfq_ship_date" class="hasDatepicker"> <select name="weeks" id="weeks"> <option value="1">1 weeks</option> <o

我有一个简单的功能,可以使用选择框将字段设置为从今天开始的几周日期。但它总是把日期定在今天

这是HTML

<input type="text" name="rfq[ship_date]" id="rfq_ship_date" class="hasDatepicker">

<select name="weeks" id="weeks">
        <option value="1">1 weeks</option>
        <option value="2">2 weeks</option>
        <option value="3">3 weeks</option>
        <option value="4">4 weeks</option>
        .....

添加毫秒,然后再次转换为日期

而不是

$('#rfq_ship_date').val(today + (weeks*1000*3600*24*7))
使用


添加毫秒,然后再次转换为日期

而不是

$('#rfq_ship_date').val(today + (weeks*1000*3600*24*7))
使用


您可以使用
getDate
setDate
直接向日期添加天数:

new_date = new Date;
new_date.setDate(new_date.getDate() + weeks * 7);
$("#rfq_ship_date").val(new_date);

您可以使用
getDate
setDate
直接向日期添加天数:

new_date = new Date;
new_date.setDate(new_date.getDate() + weeks * 7);
$("#rfq_ship_date").val(new_date);

谢谢成功了。但是为什么会有不同呢?@suavocado如果您将
+
日期
一起使用,它将转换为字符串并执行串联运算,而不是日期/时间算术。请尝试
console.log(新日期+12345)
并查看结果。谢谢!成功了。但是为什么会有不同呢?@suavocado如果您将
+
日期
一起使用,它将转换为字符串并执行串联运算,而不是日期/时间算术。请尝试
console.log(新日期+12345)
并查看结果。谢谢,您的答案也可以。你的答案和cpshah的答案在功能上有什么不同吗?我把它作为另一个答案的唯一原因是,我有很多字段使用.val函数,它帮助我组织它们(我最终也必须向同事解释这一点)。尽管如此,还是为你的时间投票吧!不,没有显著差异。我认为我的答案更容易理解,因为你不必弄清楚所有的乘法都在做什么。谢谢,你的答案也行。你的答案和cpshah的答案在功能上有什么不同吗?我把它作为另一个答案的唯一原因是,我有很多字段使用.val函数,它帮助我组织它们(我最终也必须向同事解释这一点)。尽管如此,还是为你的时间投票吧!不,没有显著差异。我认为我的更容易理解,因为你不必弄清楚所有的乘法都在做什么。