Home  >  Article  >  Backend Development  >  PHP cleverly uses the date() function to calculate leap years and print all leap years in the 21st century

PHP cleverly uses the date() function to calculate leap years and print all leap years in the 21st century

青灯夜游
青灯夜游Original
2021-08-12 14:09:235123browse

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:

PHP cleverly uses the date() function to calculate leap years and print all leap years in the 21st century

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 "

t

" 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:

PHP cleverly uses the date() function to calculate leap years and print all leap years in the 21st century

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn