Php 列出日期之间的所有年份
我希望使用PHP和Mysql数据库列出每年的日期间隔,代码如下:Php 列出日期之间的所有年份,php,Php,我希望使用PHP和Mysql数据库列出每年的日期间隔,代码如下: <?php $start = new DateTime('2010-12-02'); $start->modify('first day of this month'); $end = new DateTime('2016-05-06'); $end->modify('first day of next month'); $interval = DateInterval::createFromD
<?php
$start = new DateTime('2010-12-02');
$start->modify('first day of this month');
$end = new DateTime('2016-05-06');
$end->modify('first day of next month');
$interval = DateInterval::createFromDateString('1 year');
$period = new DatePeriod($start, $interval, $end);
foreach ($period as $dt) {
echo $dt->format("Y") . "<br>\n";
}
?>
错过2016年。
我该怎么做才能让2016年也有回报?它应该回到2010年
$start = '2010-12-02';
$end = '2016-05-06';
$getRangeYear = range(gmdate('Y', strtotime($start)), gmdate('Y', strtotime($end)));
print_r($getRangeYear);
使用range函数获取测距编号列表、第一个参数的起始范围和第二个参数的结束范围。。
很简单:您在
2010-12-02
和2016-05-06
之间进行迭代。生成的日期为:
->正常2010-12-02
->正常2011-12-02
->正常2012-12-02
->正常2013-12-02
->正常2014-12-02
->正常2015-12-02
->超过2016-12-02
-停止算法2016-05-06
<?php
$start = new DateTime('2010-12-02')->modify('+1 year');
$start->modify('first day of this month');
$end = new DateTime('2016-05-06');
$end->modify('first day of next month');
$interval = DateInterval::createFromDateString('1 year');
$period = new DatePeriod($start, $interval, $end);
foreach ($period as $dt) {
echo $dt->format("Y") . "<br>\n";
}
?>
只需编辑代码的第一行。一年后,我希望它仍能帮助其他人。
<?php
$start = new DateTime('2010-12-02')->modify('+1 year');
$start->modify('first day of this month');
$end = new DateTime('2016-05-06');
$end->modify('first day of next month');
$interval = DateInterval::createFromDateString('1 year');
$period = new DatePeriod($start, $interval, $end);
foreach ($period as $dt) {
echo $dt->format("Y") . "<br>\n";
}
?>