本文主要是介绍计算某年份是否为闰年以及总计过了几个闰年,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.判断是否为闰年的方法:
闰年的定义:
能被4整除的非世纪年(1900年虽能被4整除但因为是世纪年 故不是闰年)
能被400整除的世纪年(2000年可以被400整除 故是闰年)
能想到的普通算法如下:
if ((($i % 4 == 0) && ($i % 100 != 0)) || ($i % 400 == 0)) {echo $i, '是闰年';} else {echo $i, '不是闰年';}
第二种就是利用PHP自带的date函数判断
date的第一个参数可以给定如下我们需要的值:
t - 给定月份中包含的天数
L - 是否是闰年(如果是闰年则为 1,否则为 0)
结合strtotime函数或mktime函数将指定日期转为时间戳,
$time1 = strtotime('2017-02-01 18:00:00');$time2 = mktime(18,0,0,2,01,2016);//2016-02-01 18:00:00if(date('t',$time1)==29){echo '根据2月的天数判断当前年份为闰年';}else{echo '根据2月的天数判断当前年份为平年';}echo '<br/>';if(date('L',$time2)){echo '当前年份为闰年';}else{echo '当前年份为平年';}
2.计算到某年(X)为止的闰年数:
(int)X/4-(int)X/100+(int)X/400
2.1获得能被4整除的所有年份数(取整)
2.2减去能被100整除的世纪年份数(取整)
2.3加上能被400整除的世纪年份数(取整)
$time1 = 2000;
echo (int)$time1/4-(int)$time1/100+(int)$time1/400;//值为485
这篇关于计算某年份是否为闰年以及总计过了几个闰年的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!