我想在selected
的jquery datepicker中获取onSelect
月的最后一天
我当前的代码如下:
var j = jQuery.noConflict();
j('.epo-field-date').datepicker({
dateFormat: "yy-mm-dd",
minDate: 0,
maxDate: '1m',
firstDay: 1,
onSelect: function(dateText, inst, dateob) {
var chosen_month = j.datepicker._defaults.monthNames[inst.selectedMonth];
var chosen_day = date_selected_parts[2];
j('.chosen-month .month').text(chosen_month);
}
});
例如,当我单击1月中的任何一天时,我应该能够返回值31
或取决于该月所选日期的最后一天。
非常感谢您的帮助。
答案 0 :(得分:1)
您可以在$(this).datepicker('getDate');
事件中使用onSelect
将选定的日期作为JavaScript Date
获取。
要获取月份的最后一天,您实际上可以将月份提前1
,并将月份中的日期设置为0
。
例如,如果您想要十二月的最后一天,则JavaScript允许您通过获取January 1
来获取January 0
的前一天。
var j = jQuery.noConflict();
j('.epo-field-date').datepicker({
dateFormat: "yy-mm-dd",
minDate: 0,
maxDate: '1m',
firstDay: 1,
onSelect: function(dateText, inst, dateob) {
var selectedDate = $(this).datepicker('getDate');
var selectedMonth = selectedDate.getMonth();
var selectedYear = selectedDate.getFullYear();
var lastDate = new Date(selectedYear, selectedMonth + 1, 0);
var lastDay = lastDate.getDate();
//Do something with lastDay
}
});
使用今天的日期的示例:
var today = new Date();
var month = today.getMonth();
var year = today.getFullYear();
var lastDate = new Date(year, month + 1, 0);
var lastDay = lastDate.getDate();
console.log("Last day of the month:", lastDate.toLocaleString());
console.log("Date as number:", lastDay);
答案 1 :(得分:1)
非常简单,您可以按照以下代码获取选定的年,月并创建新日期以获取最后日期。
以下示例代码供您参考:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p id="demo"></p>
<script>
var date = new Date();
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);
document.getElementById("demo").innerHTML = lastDay;
</script>
</body>
</html>