我正在研究一个 php。在我的项目中,当学生注册时,他选择了课程的开始和结束日期,例如(2012/06/05)
- (2015/06/25)
。现在他每六个月提交一次费用。现在我想做的是,当学生填写表格提交他的费用时,他只需要从他将要完成课程的那些年份中选择年份,即2012,2013,2014 and 2015
。怎么做。
所以任何人都可以告诉我那里的某个地方。
提前致谢。
问问题
47 次
3 回答
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
于 2016-03-14T06:06:25.397 回答
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
于 2016-03-14T06:05:27.330 回答
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>
于 2016-03-14T11:02:20.007 回答