我正在开发一个php。在我的项目中,当学生注册时,他选择课程的开始和结束日期,例如(2012/06/05)
- (2015/06/25)
。现在他每六个月提交一次费用。现在我想做的是,当学生填写表格提交他的费用时,他只需要选择那些他将参加课程的年份,即2012,2013,2014 and 2015
。怎么做。
那么有人可以在那里向我展示。
提前谢谢。
答案 0 :(得分:2)
试试这个:
$begin = date('Y', strtotime('2012-06-05'));
$end = date('Y', strtotime('2015-06-25'));
$years = array();
while($begin <= $end){
$years[] = $begin++;
}
echo "<pre>";
print_r($years);
它给出了:
Array
(
[0] => 2012
[1] => 2013
[2] => 2014
[3] => 2015
)
此$ years是一个数组,包含用户输入的两个日期之间的所有年份。
希望这会有所帮助。 和平!的xD
答案 1 :(得分:1)
您需要使用strtotime()
从开始日期和结束日期开始获取年份,而不是两年之间的所有年份:
$start = date('Y', strtotime('2012/06/05'));
$end = date('Y', strtotime('2015/06/25'));
$years = array();
for ($end = $start; $end < date('Y'); $end++) {
$years[] = $end;
}
echo "<pre>";
echo implode(",",$years); //2012,2013,2014,2015
答案 2 :(得分:0)
这可以很容易地完成:
$start = new DateTime('2012/01/20');
$end = new DateTime('2015/01/20');
$years = range($start->format('Y'), $end->format('Y'));
<select name="year">
<?php foreach ($years as $year): ?>
<option value="<?= $year; ?>"><?= $year; ?></option>
<?php endforeach; ?>
</select>