JQuery datepicker设置手动日期不是日历的当前日期?
Posted
技术标签:
【中文标题】JQuery datepicker设置手动日期不是日历的当前日期?【英文标题】:JQuery datepicker set manual date not a current date of calender? 【发布时间】:2021-06-15 19:22:08 【问题描述】:我们如何将手动日期而不是当前日历日期(例如,现在日期是 2021 年,但我想将日期设置为 2020 年)到 datepicker JQuery 中??
【问题讨论】:
【参考方案1】:只需使用日期对象的 setYear 方法:
var NewDate = new Date().setYear(2020);
new Date(NewDate) // Your required Date
// Wed Mar 18 2020 16:58:23
【讨论】:
它不能很好地得到 2020 年的日期,但是我想设置一个从输入值获取的日期,我想将输入值日期设置为 dapicker 日期并设置限制只能选择前一个月的月份和年份,否则无法选择其他上个月或年份... ?? -类似
<link href="https://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<input type="text" id="mydate" />
<script>
var d = new Date();
d.setFullYear(2020);
$("#mydate").datepicker().datepicker("setDate", d);
</script>
【讨论】:
【参考方案3】:var randomDay= new Date('01-01-2020');
var mm = String(randomDay.getMonth() + 1).padStart(2, '0'); //January is 0!
var yyyy = String(randomDay.getFullYear());
var day = String(randomDay.getDay());
var dateSet=yyyy+'-'+mm+'-'+day;
console.log(dateSet);
Set this 'dateSet' variable in your datepicker 'setDate' like this:
var date=e.target.value;
var yearMonthDay=[];
yearMonthDay=date.split('-');
var year = yearMonthDay[0];
var month = yearMonthDay[1];
var day = yearMonthDay[2];
$(this).datepicker('setDate',new Date(yearMonthDay[0],yearMonthDay[1],yearMonthDay[2]));
【讨论】:
以上是关于JQuery datepicker设置手动日期不是日历的当前日期?的主要内容,如果未能解决你的问题,请参考以下文章
如何解决 jQuery UI Datepicker 的手动日期输入?
在 jquery datepicker 重置为当前日期之前捕获手动输入的日期,同时使用 Max Date 进行限制