PHP函数运用之计算截止某年某月某日共有多少天
时间:2021-08-30
来源:互联网
标签:
今天PHP爱好者给大家带来PHP函数运用之计算截止某年某月某日共有多少天的方法,在之前的文章《怎么通过PHP实现给定年月日计算总天数》中,我们介绍了一种给定年月日计算总天数的方法。这次我们来简化一下方法,带大家了解一下借助strtotime()函数怎么计算总天数。希望对大家有所帮助。
本文的主题是:给定一个年月日,计算截止这一天一共有多少天。
这要怎么计算?没有思路是不是,我们换个方向,简化一下,不就是求 x年1月1日——x年x月x日之间隔了多少天,也就是求两个日期的时间差。那么怎么求时间差呢?
我们需要先将两个日期:x年1月1日 和 x年x月x日 转换为 时间戳
$startdate = strtotime("{$year}-01-01");
$enddate = strtotime("{$year}-{$month}-{$day}");
然后将两个时间戳相减(结束时间 - 起始时间)
$diff_seconds = $enddate-$startdate;
这样就会得到两个日期的时间差,但此时还是以秒为单位计数的,不利于阅读。
因为一天有24小时,1小时有60分钟,1分钟有60秒;换算一下24*60*60=86400
,因此1天有86400秒。
将时间差$diff_seconds除以86400,在使用floor()向下舍入为最接近的整数
$time = floor(($diff_seconds)/86400);
此时获取到的是相差天数,不包括x月x日这一天,要再加1,才是截止某年某月某日的总天数。
我们来看看完整代码:
function GetDays($year,$month,$day){
$startdate = strtotime("{$year}-01-01");
$enddate = strtotime("{$year}-{$month}-{$day}");
$diff_seconds = $enddate-$startdate;
$time = floor(($diff_seconds)/86400);
$day = $time+1;
echo "截止{$year}-{$month}-{$day} 共有 {$day} 天<br>";
}
测试一下:计算截止2000-3-5的总天数(因为2000年是闰年,所以31+29+5=65)
GetDays(2000,3,5);
输出结果为:
OK,总天数是正确的!利用GetDays($year,$month,$day)函数,我们还可以计算一年的总天数
GetDays(2000,12,31);
GetDays(2021,12,31);
输出结果为:
以上就是PHP函数运用之计算截止某年某月某日共有多少天的详细内容,更多请关注php爱好者其它相关文章!
-
如何注册谷歌账号(谷歌账号注册方法) 怎么跳过手机验证 时间:2025-09-29
-
access数据库8个经典实例 时间:2025-09-29
-
mmc.exe是什么进程 mmc.exe应用程序错误的原因及解决方法 时间:2025-09-29
-
4种基本的编程命名规范介绍(匈牙利命名法、驼峰式命名法、帕斯卡命名法、下划线命名法) 时间:2025-09-29
-
Ghostscript下载、安装教程 Ghostscript命令参数详解 时间:2025-09-29
-
Linux中内存管理NUMA架构详解 时间:2025-09-29
今日更新
-
揭秘网络四大梗:爆笑名场面背后的神转折,一次看懂全网热梗来龙去脉!
阅读:18
-
四大狗贼是什么梗?揭秘网络热词背后的爆笑真相,看完秒懂!
阅读:18
-
四大虐梗是什么梗?揭秘网络最扎心四大名场面,看完泪崩!
阅读:18
-
全境封锁手游需要什么配置-全境封锁手机配置
阅读:18
-
恋与制作人2025中秋节福利情报-登录可获得中秋赠礼
阅读:18
-
燕云十六声跑图长鸣玉获得方法-快速积攒长鸣玉
阅读:18
-
第五人格第四十赛季精华1时装囚徒黎明赋格设计公布
阅读:18
-
元梦之星美团皮肤怎么获取-圆梦美团皮肤获取
阅读:18
-
华夏绘世录中秋活动金秋献瑞明日开启-参与得奖励
阅读:18
-
QQ飞车T车孙悟空有什么特性-孙悟空赛车技能
阅读:18