扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍“如何通过PHP实现给定年月日计算总天数”,在日常操作中,相信很多人在如何通过PHP实现给定年月日计算总天数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何通过PHP实现给定年月日计算总天数”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
创新互联长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为宜丰企业提供专业的成都网站制作、成都网站设计,宜丰网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
本文的主题是通过PHP实现:输入某年某月某日(例如2000年3月5日),计算至此一共有多少天(也可是判断这一天是这一年的第几天)。
实现思想分析:
想要计算截止3月5这一天一共有多少天,我们可以将从1月1日—3月5日的所有天数都加在一起即可。
那么就需要分别求3月之前几个月(1月和2月)的最大天数,而求一个月的最大天数我们可以使用以下函数来实现这个功能【详细的介绍,可以阅读文章《PHP如何利用函数来计算给定年月的最大天数》】
function GetMaxDay($year,$month){ $time = strtotime("{$year}-{$month}"); //取得一个日期的 Unix 时间戳; $date=date("t",$time); return $date; }
测试一下:输出2000年2月的最大天数
echo GetMaxDay(2000,2);
因为2000年是闰年,所以2月共有29天,OK可以。
然后就需要将这些最大天数相加起来,这就需要使用循环了(我使用for循环)。一年都是从1月开始的,所以初始条件为 $i=1
;一直要相加到指定月(3月)之前,所以限制条件为 $i<$month
。
$sum=0; for($i=1;$i<$month;$i++){ $sum += GetMaxDay($year,$i); }
测试一下,计算2000年3月之前的所有天数(31+29=60),看看是不是60天:
OK,功能实现了!
最后将获取的天数和$sum
和指定$month
的指定日$day
的天数相加即可。我们来看看完整代码:
输出结果:
好了,将求总天数的代码封装为一个功能函数:
"; } ?>
调用这个功能函数GetDays($year,$month,$day)
GetDays(2000,3,5); GetDays(2001,3,5); GetDays(2001,2,5);
我们来看看输出结果:
到此,关于“如何通过PHP实现给定年月日计算总天数”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流