【问题标题】:how to disable inbetween days of the month in p:calendar如何在 p:calendar 中禁用月份的中间日期
【发布时间】:2016-11-03 04:14:12
【问题描述】:

是否可以禁用排除当月的第一个日期和最后一个日期?例如:当前日期:3-11-2016,所以1-11-2016 and 30-11-2016单独启用此(1-11-2016 and 30-11-2016)将按动态月份计算。所以,我试图启用除此之外的第一个日期和最后一个日期。

【问题讨论】:

  • 你想只启用当前日期的月份吗,这是你需要的吗??
  • 每个月我都需要单独启用第一天和最后一天 @Billy Hope
  • 这可能会帮助你:这可能会帮助你:stackoverflow.com/questions/16559559/…

标签: jsf primefaces calendar


【解决方案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>

要禁用本月的剩余时间,只保留第 1 天和第 30 天,请查看:Disable specific dates on p:calendar

【讨论】:

    【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 2015-08-09
      • 2013-12-05
      • 1970-01-01
      • 2014-07-17
      • 2013-05-09
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多