javascript - 我如何计算 jQuery 中的日期,并将输入日期的值设置为该值?

标签 javascript jquery date-math date-manipulation

我有这个 html:

<input class="smalldatepicker" type="date" id="datepickerFrom" value="2016-09-04">
</input>
<label class="cccsfont"> to </label>
<input type="date" class="smalldatepicker" id="datepickerTo" value="2016-09-10">
</input>

将“datepickerTo”设置为上周六(这是基于今天的日期,即 9 月 15 日星期四),将“datepickerFrom”设置为之前的周日。

不过,这是手动添加的;我想以编程方式在 jQuery 中执行此操作,例如:

var lastSat = getLastSaturday(); // return in form "YYYY-MM-DD" 
var sundayBeforeLastSat = getSundayBeforeLast(lastSat); // " "

$("#datepickerTo").val(lastSat);
$("#datepickerFrom").val(sundayBeforeLastSat);

我认为这应该可行,但我不知道在函数中放入什么:

function getLastSaturday() {
     return ???;
}

function sundayBeforeLastSat(lastSat) {
     return ???;
}

最佳答案

如果您不想使用任何库,例如 moment.js 或其他

试试这个:

$(function(){

	
var lastSat = getLastSaturday(); // return in form "YYYY-MM-DD" 
var sundayBeforeLastSat = getSundayBeforeLastSat(lastSat); // " "
console.log("Last satuarday: "+lastSat);
    console.log("Last Sunday: "+sundayBeforeLastSat);

$("#datepickerTo").val(lastSat);
$("#datepickerFrom").val(sundayBeforeLastSat);
});

function getLastSaturday() {
    newDate= new Date();
	daysAfterSat = newDate.getDay()+1;
	lastSat = new Date(newDate.setDate(newDate.getDate()-daysAfterSat));
	dateString = lastSat.getFullYear()+ "-"+('0' + (lastSat.getMonth()+1)).slice(-2) + '-'+('0' + lastSat.getDate()).slice(-2);
              
	return dateString;
}

function getSundayBeforeLastSat(lastSat) {
    date = new Date(lastSat);
	lastSun = new Date(date.setDate(date.getDate()-6));
	dateString = lastSun.getFullYear()+ "-"+('0' + (lastSun.getMonth()+1)).slice(-2) + '-'+('0' + lastSun.getDate()).slice(-2);
	return dateString;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input class="smalldatepicker" type="date" id="datepickerFrom" value="">
</input>
<label class="cccsfont"> to </label>
<input type="date" class="smalldatepicker" id="datepickerTo" value="">
</input>
</form>

关于javascript - 我如何计算 jQuery 中的日期,并将输入日期的值设置为该值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39517641/

相关文章:

javascript - 如果用户关闭浏览器,我会尝试运行 .php 脚本

sql-server - 如何防止存储过程中出现被零除错误?

javascript - Grunt Watch 没有针对 JS 或 CSS 的运行任务

javascript - AWS "Cannot GET/"

javascript - 标记点谷歌地图自定义脚本

php - Jquery文件上传插件: Dynamically change upload path?

javascript - 调用外部库中的函数时出现引用错误 - 仅限 Firefox

PostgreSQL:是否存在强大的第三方日期数学函数来增强内置日期运算符?

c# - 获取任意日期和纪元时间之间经过的毫秒数

javascript - 即使没有内容,如何将侧边栏和内容扩展到全高