是否可以禁用排除当月的第一个日期和最后日期?例如:当前日期:3-11-2016
,因此仅1-11-2016 and 30-11-2016
启用此(1-11-2016 and 30-11-2016)
将按动态月计算。因此,我试图将第一个日期和最后一个日期启用,除此之外,所有应该被禁用。
答案 0 :(得分:1)
如果只需要启用当前日期的月份,则必须动态设置来自托管bean的两个日期(最小值和最大值),使用java类Calendar提供操作日期的方法,可以使用以下命令行:
Calendar cal = Calendar.getInstance();
cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.getActualMinimum(Calendar.DAY_OF_MONTH), 0, 0, 0);
minDate = cal.getTime();
cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.getActualMaximum(Calendar.DAY_OF_MONTH), cal.getActualMaximum(Calendar.HOUR_OF_DAY), 59, 59);
maxDate = cal.getTime();
然后将此两个日期设置为在日历中定义范围:
<p:calendar mindate="#{calendarController.minDate}"
maxdate="#{calendarController.maxDate}"
......>
</p:calendar>
要停用本月的剩余时间,只留下第01天和第30天看看:Disable specific dates on p:calendar
答案 1 :(得分:-2)
try {
String mindateString="1/11/2016";
String maxdateString="30/11/2016";
DateFormat format = new SimpleDateFormat("dd/MM/yyyy");
setMindate(format.parse(mindateString));
setMaxdate(format.parse(maxdateString));
}catch(Exception e){
log.error(e);
}
primefaces calendar...
<p:calendar maxdate="#{welcomeController.maxdate}"
mindate="#{welcomeController.mindate}" size="10"
readonlyInput="true" pattern="dd/MM/yyyy">
</p:calendar>