如何通过PHP实现给定年月日计算总天数

发布时间:2021-08-18 11:07:27 作者:chen
来源:亿速云 阅读:188

这篇文章主要介绍“如何通过PHP实现给定年月日计算总天数”,在日常操作中,相信很多人在如何通过PHP实现给定年月日计算总天数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何通过PHP实现给定年月日计算总天数”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

本文的主题是通过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);

如何通过PHP实现给定年月日计算总天数

因为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天:

如何通过PHP实现给定年月日计算总天数

OK,功能实现了!

最后将获取的天数和$sum和指定$month的指定日$day的天数相加即可。我们来看看完整代码:

<?php
header("Content-type:text/html;charset=utf-8");
$year=2000;
$month=3;
$day=5;

//求一个月的最大天数
function GetMaxDay($year,$month){
	$time = strtotime("{$year}-{$month}"); //取得一个日期的 Unix 时间戳;
	$date=date("t",$time);
	return $date;
}

//求总天数
//求之前几个月的天数
$sum=0;  
for($i=1;$i<$month;$i++){
	$sum += GetMaxDay($year,$i);
}
$sum = $sum + $day;  //加上本月的天数,就是总天数

//求总天数
echo "截止 $year 年  $month 月  $day 日, 一共有 $sum 天 ";
?>

输出结果:

如何通过PHP实现给定年月日计算总天数

好了,将求总天数的代码封装为一个功能函数:

<?php
header("Content-type:text/html;charset=utf-8");
//求一个月的最大天数
function GetMaxDay($year,$month){
	$time = strtotime("{$year}-{$month}"); //取得一个日期的 Unix 时间戳;
	$date=date("t",$time);
	return $date;
}

//求总天数
function GetDays($year,$month,$day){
//求之前几个月的天数
$sum=0;  
for($i=1;$i<$month;$i++){
	$sum += GetMaxDay($year,$i);
}
$sum = $sum + $day;  //加上本月的天数,就是总天数

//求总天数
echo "截止 $year 年  $month 月  $day 日, 一共有 $sum 天<br> ";
}
?>

调用这个功能函数GetDays($year,$month,$day)

GetDays(2000,3,5);
GetDays(2001,3,5);
GetDays(2001,2,5);

我们来看看输出结果:

如何通过PHP实现给定年月日计算总天数

到此,关于“如何通过PHP实现给定年月日计算总天数”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. PHP计算指定区域素数总个数的方法
  2. PHP输入年月日期实现计算年龄功能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php

上一篇:java如何解析由String类型拼接的XML文件

下一篇:Spring中refresh()方法有什么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》