Home  >  Article  >  Backend Development  >  Detailed explanation of the method of calculating time difference in PHP and MySql_PHP Tutorial

Detailed explanation of the method of calculating time difference in PHP and MySql_PHP Tutorial

WBOY
WBOYOriginal
2016-07-13 09:59:44706browse

Detailed explanation of how to calculate the time difference in PHP and MySql

Calculating the time difference in PHP is sometimes troublesome! But as long as you master the usage of date and time functions, these It becomes simpler.

Recently, when I was studying my love scarf, I had to calculate the number of days in love. This requires PHP to calculate based on the date of each day. Let’s talk about several methods to achieve this date calculation:

(1) If you have a database, it will be easy! If it is MSSQL, you can use triggers! Just use the function datediff() that specially calculates the date difference! If it is MYSQL, use the calculation result of the difference between two date fields. Save it in another numeric field! Just call it when you need it!

(2) If you don’t have a database, you have to use PHP’s time and date function!

The following are the main explanations:

Example: Calculate the number of days from May 3, 1998 to 1999-6-5:

The code is as follows:


$startdate=mktime("0","0","0","5","3","1998"); $enddate=mktime("0","0","0","6" ,"5","1999"); //The obtained value is the total number of seconds from 1970-1-1 to the parameter time. The result is an integer. Then the following code is much easier to compile
$days=round(($enddate-$startdate)/3600/24) ;
echo $days;

Where $days is the number of days obtained;

If the parameter in mktime() is defaulted, it means using the current date, so that the number of days from the date of borrowing the book can be calculated.

Finally, let’s talk about the SQL calculation method:

DateDiff function

Description: Returns the time interval between two dates.

Syntax:

DateDiff(interval, date1, date2 [, firstdayofweek[, firstweekofyear>)
interval: required. A string expression used to calculate the time interval between date1 and date2. See the Settings section for values.

date1, date2: required. Date expression. Two dates used for calculation.

firstdayofweek: Optional. A constant that specifies the first day of the week. If not specified, it defaults to Sunday. See the Settings section for values.

firstweekofyear: Optional. Constant that specifies the first week of the year. If not specified, it defaults to the week of January 1st. See the Settings section for values.

The

interval parameter can have the following values:

yyyy (year)
q (quarter)
m (month)
y (number of days in a year)
d (day)
w (day of the week)
ww (week)
h (hour)
n (minutes)
s (second)
The firstdayofweek parameter can have the following values:

(The following are: constant value description)

vbUseSystem 0 Use the National Language Support (NLS) API setting.
vbSunday 1 Sunday (default)
vbMonday 2 Monday
vbTuesday 3 Tuesday
vbWednesday 4 Wednesday
vbThursday 5 Thursday
vbFriday 6 Friday
vbSaturday 7 Saturday
The firstweekofyear parameter can have the following values:

(The following are: constant value description)

vbUseSystem 0 Use the National Language Support (NLS) API setting.
vbFirstJan1 1 Starting with the week of January 1st (default).
vbFirstFourDays 2 starts with the first week of the new year that has at least four days.
vbFirstFullWeek 3 begins with the first full week of the new year.
Description: The DateDiff function is used to determine the number of specified time intervals that exist between two dates.

For example, you can use DateDiff to calculate the number of days between two dates, or the number of weeks between today and the last day of the year.

To calculate the number of days between date1 and date2, you can use "days in year" ("y") or "days" ("d"). When interval is "day of the week" ("w"), DateDiff returns the number of weeks between two dates.

If date1 is a Monday, DateDiff calculates the number of Mondays before date2. This result contains date2 but not date1.

If interval is "week" ("ww"), the DateDiff function returns the number of weeks between two dates in the calendar table. The function counts the number of Sundays between date1 and date2.

DateDiff will evaluate date2 if date2 is a Sunday, but not date1 even if date1 is a Sunday.

If date1 is later than date2, the DateDiff function returns a negative number. The firstdayofweek argument affects calculations using the "w" and "ww" separator symbols.

If date1 or date2 is a date literal, the specified year becomes a fixed part of the date. But if date1 or date2 is enclosed in quotation marks (" ") and the year is omitted, the current year will be inserted every time the date1 or date2 expression is evaluated in the code. This makes it possible to write program code that works for different years.

When interval is "year" ("yyyy"), compare December 31st with January 1st of the next year. Although the difference is actually only one day, DateDiff returns 1 to indicate a difference of one year.

DatePart function

Description: Returns the specified part of the given date. Grammar:

DatePart(interval, date[, firstdayofweek[, firstweekofyear>)
The syntax of DatePart: function has the following parameters:
interval: required. A string expression representing the time interval to be returned. See the Settings section for values.
date: required. The date expression to evaluate.
firstdayofweek: Optional. A constant that specifies the first day of the week. If not specified, it defaults to Sunday. See the Settings section for values.
firstweekofyear: Optional. Constant that specifies the first week of the year. If not specified, it defaults to the week of January 1st. See the Settings section for values.
The interval parameter can have the following values: yyyy (year), q (quarter), m (month), y (number of days in a year), d (day), w (number of days in a week), ww (week), h ( hours), n (minutes), s (seconds)

The firstdayofweek parameter can have the following values:

(The following are: constant value description)

vbUseSystem 0 Use the National Language Support (NLS) API setting.
vbSunday 1 Sunday (default)
vbMonday 2 Monday
vbTuesday 3 Tuesday
vbWednesday 4 Wednesday
vbThursday 5 Thursday
vbFriday 6 Friday
vbSaturday 7 Saturday
The firstweekofyear parameter can have the following values:

(The following are: constant value description)

vbUseSystem 0 Use the National Language Support (NLS) API setting.
vbFirstJan1 1 Starting with the week of January 1st (default).
vbFirstFourDays 2 starts with the first week of the new year that has at least four days.
vbFirstFullWeek 3 starts with the first full week of the new year (not across years).
Description: The DatePart function is used to calculate dates and return the specified time interval. For example, use DatePart to calculate the day of the week or the current time.

The firstdayofweek parameter affects the calculation using the "w" and "ww" interval symbols.

If date is a date literal, the specified year becomes a fixed part of the date. But if date is enclosed in quotation marks (" ") and the year is omitted, the current year will be inserted every time the date expression is evaluated in the code. This way you can write program code that works for different years!

The above is the entire content of this article. I hope it will be helpful to everyone to master PHP proficiently.

Please take a moment to share the article with your friends or leave a comment. We will sincerely thank you for your support!

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/975134.htmlTechArticleDetailed explanation of how to calculate the time difference in PHP and MySql Calculating the time difference in PHP is sometimes a troublesome thing! However, As long as you master the usage of date and time functions, these will become simple. ...
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