Home Backend Development PHP Tutorial 计算2000年01月01日起到指定日的天数_PHP

计算2000年01月01日起到指定日的天数_PHP

Jun 01, 2016 pm 12:29 PM
substr designation calculate

这是一个计算2000年01月01日起到指定日的天数的函数


(算头也算尾)日期格式为:YYYY-MM-DD



// 计算从2000年01月01日开始到某日的天数

function cal_start2end($end_day,$start_day)
{


$start_day=ereg_replace("-","",$start_day);
$end_day=ereg_replace("-","",$end_day);



if($end_day>=$start_day)
{ // 截止日期大于开始日期
if(substr($end_day,0,4)==substr($start_day,0,4))
{

if( is_int(substr($end_day,0,4)/4) )
$leap_day=29; //leap year
else
$leap_day=28;


// //同一年

if(substr($end_day,4,2)==substr($start_day,4,2))
{
// the same month
$endday_from_startday=$end_day-$start_day 1;

}
else
{
// not same month


switch (substr($end_day,4,2))
{
case "01":
$endday_from_newyear=substr($end_day,6,2) 1;
break;
case "02":
$endday_from_newyear=substr($end_day,6,2) 31;
break;
case "03":
$endday_from_newyear=substr($end_day,6,2) $leap_day 31;
break;
case "04":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*2;
break;
case "05":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*2 30;
break;
case "06":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*3 30;
break;
case "07":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*2 30*2;
break;
case "08":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*3 30*2;
break;
case "09":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*5 30*2;
break;
case "10":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*5 30*3;
break;
case "11":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*5 30*4;
break;
case "12":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*5 30*5;
break;
}
$endday_from_startday=$endday_from_newyear;
}

return ($endday_from_startday);

}
else
{
// 不同年!

$differ_year=substr($end_day,0,4)-substr($start_day,0,4);

$how_int_4_floor=floor($differ_year/4) 1; // 向下取整
$how_int_4_ceil=ceil($differ_year/4) 1; // 向上取整



if($how_int_4_floor==$how_int_4_ceil)
$how_leap_year=$how_int_4_floor-1;
else
$how_leap_year=$how_int_4_floor;

$how_noleap_year=$differ_year-$how_leap_year;

$differ_year2day=$how_noleap_year*365 $how_leap_year*366;



if( is_int(substr($end_day,0,4)/4) )
$leap_day=29; //leap year
else
$leap_day=28;



if(substr($end_day,4,2)==substr($start_day,4,2))
{
// the same month
$endday_from_startday=$differ_year2day substr($end_day,4,2);

}
else
{
// not same month


switch (substr($end_day,4,2))
{
case "01":
$endday_from_newyear=substr($end_day,6,2) 1;
break;
case "02":
$endday_from_newyear=substr($end_day,6,2) 1 31;
break;
case "03":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31;
break;
case "04":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*2;
break;
case "05":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*2 30;
break;
case "06":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*3 30;
break;
case "07":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*2 30*2;
break;
case "08":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*3 30*2;
break;
case "09":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*5 30*2;
break;
case "10":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*5 30*3;
break;
case "11":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*5 30*4;
break;
case "12":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*5 30*5;
break;
} //End of switch


$endday_from_startday=$endday_from_newyear $differ_year2day;
} //End of not same month



return ($endday_from_startday);


} //End of year
} //End of $end_day>=$start_day



} //End of function


$start_day="2000-01-01";

$end_day="2011-01-01";

echo "您输入的是:".$end_day."
\n";
$endday_from_startday=cal_start2end($end_day,$start_day);

echo "该日距离$start_day 共 ".$endday_from_startday." 天";

?>




时间太少了,那位大虾可以修改为计算任意两日期之间的间隔最好!!!!!

Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

CUDA's universal matrix multiplication: from entry to proficiency! CUDA's universal matrix multiplication: from entry to proficiency! Mar 25, 2024 pm 12:30 PM

General Matrix Multiplication (GEMM) is a vital part of many applications and algorithms, and is also one of the important indicators for evaluating computer hardware performance. In-depth research and optimization of the implementation of GEMM can help us better understand high-performance computing and the relationship between software and hardware systems. In computer science, effective optimization of GEMM can increase computing speed and save resources, which is crucial to improving the overall performance of a computer system. An in-depth understanding of the working principle and optimization method of GEMM will help us better utilize the potential of modern computing hardware and provide more efficient solutions for various complex computing tasks. By optimizing the performance of GEMM

How to calculate addition, subtraction, multiplication and division in word document How to calculate addition, subtraction, multiplication and division in word document Mar 19, 2024 pm 08:13 PM

WORD is a powerful word processor. We can use word to edit various texts. In Excel tables, we have mastered the calculation methods of addition, subtraction and multipliers. So if we need to calculate the addition of numerical values ​​in Word tables, How to subtract the multiplier? Can I only use a calculator to calculate it? The answer is of course no, WORD can also do it. Today I will teach you how to use formulas to calculate basic operations such as addition, subtraction, multiplication and division in tables in Word documents. Let's learn together. So, today let me demonstrate in detail how to calculate addition, subtraction, multiplication and division in a WORD document? Step 1: Open a WORD, click [Table] under [Insert] on the toolbar, and insert a table in the drop-down menu.

How to count the number of elements in a list using Python's count() function How to count the number of elements in a list using Python's count() function Nov 18, 2023 pm 02:53 PM

How to use Python's count() function to calculate the number of an element in a list requires specific code examples. As a powerful and easy-to-learn programming language, Python provides many built-in functions to handle different data structures. One of them is the count() function, which can be used to count the number of elements in a list. In this article, we will explain how to use the count() function in detail and provide specific code examples. The count() function is a built-in function of Python, used to calculate a certain

Java program to calculate the area of ​​a triangle using determinants Java program to calculate the area of ​​a triangle using determinants Aug 31, 2023 am 10:17 AM

Introduction The Java program for calculating the area of ​​a triangle using determinants is a concise and efficient program that can calculate the area of ​​a triangle given the coordinates of three vertices. This program is useful for anyone learning or working with geometry, as it demonstrates how to use basic arithmetic and algebraic calculations in Java, as well as how to use the Scanner class to read user input. The program prompts the user for the coordinates of three points of the triangle, which are then read in and used to calculate the determinant of the coordinate matrix. Use the absolute value of the determinant to ensure the area is always positive, then use a formula to calculate the area of ​​the triangle and display it to the user. The program can be easily modified to accept input in different formats or to perform additional calculations, making it a versatile tool for geometric calculations. ranks of determinants

Count the number of occurrences of a substring recursively in Java Count the number of occurrences of a substring recursively in Java Sep 17, 2023 pm 07:49 PM

Given two strings str_1 and str_2. The goal is to count the number of occurrences of substring str2 in string str1 using a recursive procedure. A recursive function is a function that calls itself within its definition. If str1 is "Iknowthatyouknowthatiknow" and str2 is "know" the number of occurrences is -3. Let us understand through examples. For example, input str1="TPisTPareTPamTP", str2="TP"; output Countofoccurrencesofasubstringrecursi

How to use the Math.Pow function in C# to calculate the power of a specified number How to use the Math.Pow function in C# to calculate the power of a specified number Nov 18, 2023 am 11:32 AM

In C#, there is a Math class library, which contains many mathematical functions. These include the function Math.Pow, which calculates powers, which can help us calculate the power of a specified number. The usage of the Math.Pow function is very simple, you only need to specify the base and exponent. The syntax is as follows: Math.Pow(base,exponent); where base represents the base and exponent represents the exponent. This function returns a double type result, that is, the power calculation result. Let's

Java program example to calculate total score and percentage Java program example to calculate total score and percentage Sep 11, 2023 pm 06:01 PM

We will demonstrate how to calculate total scores and percentages using a Java program. Total score refers to the sum of all available scores, while the term percentage refers to the calculated score divided by the total score and multiplied by the resulting number 100. percentage_of_marks=(obtained_marks/total_marks)×100 Example 1 This is a Java program that demonstrates how to calculate total scores and percentages. //JavaProgramtodemonstratehowisTotalmarksandPercentagescalculatedimportjava.io.*;publicclassTotalMarks_

PHP date processing tips: How to calculate the month difference between dates using PHP? PHP date processing tips: How to calculate the month difference between dates using PHP? Mar 20, 2024 am 11:24 AM

PHP date processing tips: How to calculate the month difference between dates using PHP? Date processing is a very common requirement in web development, especially in business logic that needs to be related to time. In PHP, calculating the month difference between dates can be achieved through some methods. This article will introduce how to use PHP to calculate the month difference between two dates and provide specific code examples. Method 1: Use the DateTime class. PHP's DateTime class provides a wealth of date processing methods, including calculating dates.

See all articles