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 日期并设置限制只能选择前一个月的月份和年份,否则无法选择其他上个月或年份... ?? -" /> 这是我的输入,我从数据库中获取日期,我想将日期设置为日期选择器日期和选择从该日期开始 其他未选择的上一年。在 split[0] 中输入我将获得 2021 年,而 split[1] 我将获得第 03 个月。【参考方案2】:

类似

<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 进行限制

在日期选择器上设置日期 jquery ui datepicker

jquery datepicker 怎样设为只读

Jquery DatePicker 设置默认日期

Jquery datepicker 年份变化