php – 如何列出两个日期之间的所有月份
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 如何列出两个日期之间的所有月份,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1203字,纯文字阅读大概需要2分钟。
内容图文
我想列出两个日期之间的所有月份.
例如;开课日期是:2010-12-02,最后日期是:2012-05-06
我想列出这样的东西:
2010-12
2011-01
2011-02
2011-03
2011-04
.
.
.
2012-04
2012-05
这是我尝试过的,它根本不起作用:
$year_min = 2010;
$year_max = 2012;
$month_min = 12;
$month_max = 5;
for($y=$year_min; $y<=$year_max; $y++)
{
for($m=$month_min; $m<=$month_max; $m++)
{
$period[] = $y.$m;
}
}
解决方法:
PHP 5.3
$start = new DateTime('2010-12-02');
$start->modify('first day of this month');
$end = new DateTime('2012-05-06');
$end->modify('first day of next month');
$interval = DateInterval::createFromDateString('1 month');
$period = new DatePeriod($start, $interval, $end);
foreach ($period as $dt) {
echo $dt->format("Y-m") . "<br>\n";
}
PHP 5.4或更高版本
$start = (new DateTime('2010-12-02'))->modify('first day of this month');
$end = (new DateTime('2012-05-06'))->modify('first day of next month');
$interval = DateInterval::createFromDateString('1 month');
$period = new DatePeriod($start, $interval, $end);
foreach ($period as $dt) {
echo $dt->format("Y-m") . "<br>\n";
}
我们将开始和结束日期修改为月初的部分非常重要.如果我们没有,并且当前的日子高于2月的最后一天(即非闰年28天,闰年29天),这将超过2月份.
内容总结
以上是互联网集市为您收集整理的php – 如何列出两个日期之间的所有月份全部内容,希望文章能够帮你解决php – 如何列出两个日期之间的所有月份所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】