是否有相当于';minYear'/';maxYear';在CakePHP中输入日期的月份?

是否有相当于';minYear'/';maxYear';在CakePHP中输入日期的月份?,cakephp,Cakephp,我想把日期限制在这个月和下个月 到目前为止,我知道我可以指定一个最小和最大年份,这是我需要的一部分 $this_month = new DateTime('now'); $next_month = new DateTime('next month'); echo $this->Form->input('date', array( 'minYear' => $this_month->format('Y'), 'maxYear'

我想把日期限制在这个月和下个月

到目前为止,我知道我可以指定一个最小和最大年份,这是我需要的一部分

$this_month = new DateTime('now');
$next_month = new DateTime('next month');

echo $this->Form->input('date', 
    array(
        'minYear'  => $this_month->format('Y'),
        'maxYear'  => $next_month->format('Y'),
    )
);

有没有类似的方法可以指定我需要的月份?

解决此问题的两种方法都没有您希望的那么简单:

第一:

创建一个扩展FormHelper类的类,并创建您自己的月份函数来添加此功能

第二:

您可以传入一个月名称数组,因此您只能生成希望最终用户选择的月列表,并将其传递到您的月函数中:


将在下拉列表中仅使用这三个月生成一个月选择器。

解决此问题的两种方法都没有您希望的那么简单:

第一:

创建一个扩展FormHelper类的类,并创建您自己的月份函数来添加此功能

第二:

您可以传入一个月名称数组,因此您只能生成希望最终用户选择的月列表,并将其传递到您的月函数中:


将在下拉列表中仅使用这三个月生成一个月选择器。

您可以手动创建下拉列表。将所需的月数组作为
$options
传递到
$this->Form->select('date',$options)
谢谢@davidell,在这种特殊情况下,$选项会是什么样子?@mark你的意思是为月、日和年创建不同的输入吗?它只是一个简单的月数组
数组(1=>'Jan',2=>'Feb',3=>'Mar',9=>'Oct',11=>'Nov')
您可以手动创建下拉列表。将您想要的月份数组作为
$options
传递到
$this->Form->select('date',$options)
谢谢@davidell,在这种特殊情况下,$options会是什么样子?@mark您的意思是为月份创建不同的输入吗,天和年?这将只是一个简单的月数组
array(1=>'Jan',2=>'Feb',3=>'Mar',9=>'Oct',11=>'Nov')
谢谢你jtyost2,这是我最后做的事情,效果很好:)谢谢你jtyost2,这是我最后做的事情,效果很好:)