我爱编程网小编给大家带来了php判断以下年份(1962,,,)是否为闰年,并输出结果? php 时间正则式的表示相关文章,一起来看一下吧。
本文目录一览:

php判断以下年份(1962,2000,2020,2022)是否为闰年,并输出结果?
下面是用 PHP 代码来判断以下年份(1962,2000,2020,2022)是否为闰年,并输出结果的方法:
$years = array(1962, 2000, 2020, 2022);
foreach($years as $year){
// 判断是否为闰年
if (($year % 4 == 0 && $year % 100 != 0) || $year % 400 == 0){
echo $year . "是闰年\n";
} else {
echo $year . "不是闰年\n";
}
}
我爱编程网
运行上面的代码,将会输出:
1962不是闰年
2000是闰年
2020不是闰年
2022不是闰年
关于判断一个年份是否为闰年的方法:
-
如果这个年份能被 4 整除但不能被 100 整除,或者能被 400 整除,那么它就是闰年。
-
否则,它就不是闰年。
在上面的 PHP 代码中,我们使用了一个循环来遍历所有的年份,然后使用 if 语句来判断这个年份是否为闰年,如果是,就输出“是闰年”,否则输出“不是闰年”。

用php写一程序,判断某一年是否为闰年。(能被4整除,但不能被100整除。能被400整除)
<?php
$time = "2020";
function chaxun($time)
{
if ($time%4==0 && $time%100>0 && $time%400==0)
{
echo "OK";
}
else
{
echo "NO";
}
}
echo chaxun($time);
?>
不知道为啥 还得400 能整除
php 时间正则式的表示
我爱编程网(https://www.52biancheng.com)小编还为大家带来php 时间正则式的表示的相关内容。
最简单的正则 如 : \d{4}-\d{2}-\d{2}
但是实际情况却不是那么简单,,要考虑,有效性和闰年等问题.....
对于日期的有效范围,不同的应用场景会有所不同。MSDN中定义的DateTime对象的有效范围是:0001-01-01 00:00:00到9999-12-31 23:59:59。
UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z。
先考虑与年份无关的前三条规则,年份可统一写作
(?!0000)[0-9]{4}
下面仅考虑月和日的正则
1. 包括平年在内的所有年份的月份都包含1-28日
(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])
2. 包括平年在内的所有年份除2月外都包含29和30日
(0[13-9]|1[0-2])-(29|30)
3. 包括平年在内的所有年份1、3、5、7、8、10、12月都包含31日
(0[13578]|1[02])-31)
合起来就是除闰年的2月29日外的其它所有日期
(?!0000)[0-9]{4}-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)
接下来考虑闰年的实现
1 : 四年一闰
([0-9]{2}(0[48]|[2468][048]|[13579][26])
2 : 百年不闰,四百年再闰
(0[48]|[2468][048]|[13579][26])00
3 : 合起来就是所有闰年的2月29日
([0-9]{2}(0[48]|[2468][048]|[13579][26])|(0[48]|[2468][048]|[13579][26])00)-02-29)
四条规则都已实现,且互相间没有影响,合起来就是所有符合DateTime范围的日期的正则
^((?!0000)[0-9]{4}-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)|([0-9]{2}(0[48]|[2468][048]|[13579][26])|(0[48]|[2468][048]|[13579][26])00)-02-29)$
考虑到这个正则表达式仅仅是用作验证,所以捕获组没有意义,只会占用资源,影响匹配效率,所以可以使用非捕获组来进行优化。
^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$
以上就是我爱编程网小编给大家带来的php判断以下年份(1962,,,)是否为闰年,并输出结果? php 时间正则式的表示,希望能对大家有所帮助。更多相关文章关注我爱编程网:
www.52biancheng.com免责声明:文章内容来自网络,如有侵权请及时联系删除。