Home > Article > Backend Development > PHP cleverly uses the date() function to calculate leap years and print all leap years in the 21st century
In the previous article "How does PHP output all leap years in the 20th century", we introduced a method to determine whether a given year is a leap year. This time we introduce another method to determine whether the year is a leap year.
Above we introduced a general algorithm for judging leap years, which can be used in other languages; this article introduces a PHP-specific method. We use the built-in function date() to judge leap years, and then find Get all the leap years in the 21st century and print them.
Thought:
February in a leap year has 29 days. We can take advantage of this feature and use date() to get the number of days contained in February in $year in a given year. Number of days, determine whether the number of days is 29 days, so that you can determine whether the given year $year is a leap year.
Use a for loop to give all the years in the 21st century (2001~2100), and then use the above method to determine whether it is a leap year one by one, and it will meet the requirements (it is a leap year) Year output.
Implementation method:
<?php header("Content-type:text/html;charset=utf-8"); for($year = 2001; $year <= 2100; $year++){ $time = strtotime("{$year}-02"); //取得一个日期的 Unix 时间戳; if (date("t",$time)==29){ //格式化时间,并且判断2月是否是29天; echo $year."是闰年!<br>"; //是29天就输出时闰年; } } ?>
Let’s take a look at the output:
OK, it’s done! In the above example, the strtotime("{$year}-02")
statement converts the date in the "xxxx-02" format into a Unix timestamp; then you can use date("t" ,$time)
statement to get the number of days contained in February of $year. Use the if statement to determine whether the number of days is equal to 29 days, and you can determine whether $year is a leap year. The "
" character parameter of the date() function can be used to obtain the number of days contained in a given month. This function has many built-in characters to control the output date. Characters in string format . In fact, there is a character "
L
" that can be used to determine whether it is a leap year (if it is a leap year, it is 1, otherwise it is 0).
Therefore, using the date() function, you can also print all leap years in the 21st century
<?php header("Content-type:text/html;charset=utf-8"); for($year = 2001; $year <= 2100; $year++){ $time = strtotime("{$year}-02"); if (date("L",$time)){ echo $year."是闰年<br>"; } } ?>
Let’s take a look at the output:
Okay, that’s it for today. If you want to know anything else, you can click here. → →php video tutorial
The above is the detailed content of PHP cleverly uses the date() function to calculate leap years and print all leap years in the 21st century. For more information, please follow other related articles on the PHP Chinese website!