Home  >  Article  >  Backend Development  >  php date and time_PHP tutorial

php date and time_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:44:421019browse

PHP provides a large number of built-in functions, which allows developers to manage time with ease and greatly improves work efficiency. Today we will introduce some common PHP date and time functions and date and time processing to students.

9.1 Commonly used date and time processing functions

Table 9-1: Commonly used date and time processing functions

Function

Say Ming

checkdate

Verify the time function to determine whether the time is valid, return true if valid, otherwise return false

date_default_timezone_get

Get the default time zone used by script datetime functions

date_default_timezone_set

Set the default time zone for date and time functions

date

Format a local time/date

getdate

Get date/time information

gettimeofday

Get current time

localtime

Get local time

microtime

Returns the current timestamp and microseconds

mktime

Get a UNIX timestamp

strtotime

Parse any English text datetime description into a UNIX timestamp

time

Returns the current UNIX timestamp

9.2 Processing date and time

9.2.1 Get the current date and time: date() function, usage:

date(string format,int timestamp)

This function will return a string generated by the timestamp parameter according to the specified format. The parameter timestamp is optional. If omitted, the current time is used. The format parameter allows developers to output the time and date in the format they specify.

date_default_timezone_set(PRC); //Set Beijing time.

1. Year-month-day

echo date('Y-m-j'); //Example: 2007-02-6

echo date('y-n-j'); //Example: 07-2-6

An uppercase Y represents a four-digit year, while a lowercase y represents a two-digit year;

Lowercase m represents the number of the month (with a leading), while lowercase n represents the number of the month without the leading.

echo date('Y-M-j'); //Example: 2007-Feb-6

echo date('Y-m-d'); //Example: 2007-02-06

Uppercase M represents the 3 abbreviated characters of the month, while lowercase m represents the number of the month (with leading 0);

There is no uppercase J, only lowercase j represents the day of the month, without the leading o; if a leading month is required, use a lowercase d.

echo date('Y-M-j'); //Example: 2007-Feb-6

echo date('Y-F-jS'); //Example: 2007-February-6

Capital M represents the 3 abbreviated characters of the month, while capital F represents the full English letter of the month. (no lowercase f)

Capital S represents the suffix of the date, such as "st", "nd", "rd" and "th", depending on the date number.

Summary:

The year can be represented by uppercase Y and lowercase y;

Months can be represented by uppercase F, uppercase M, lowercase m and lowercase n (two ways to represent characters and numbers respectively);

Lowercase d and lowercase j can be used to represent the day, and uppercase S represents the suffix of the date.

2. Hour:minute:second

By default, PHP interprets the displayed time as "Greenwich Mean Time", which is 8 hours different from our local time.

echo date('g:i:s a'); //Example: 5:56:57 am

echo date('h:i:s A'); //Example: 05:56:57 AM

A lowercase g indicates a 12-hour clock without leading 0s, while a lowercase h indicates a 12-hour clock with leading 0s.

When using the 12-hour clock, it is necessary to indicate morning and afternoon. Lowercase a represents lowercase "am" and "pm", and uppercase A represents uppercase "AM" and "PM".

echo date('G:i:s');14:02:26

Capital G represents the hour in 24-hour format, but without leading; use capital H to represent hour in 24-hour format with leading

Summary:

The letter g represents the hour without leading, and the letter h represents the hour with leading;

Lowercase g and h represent the 12-hour format, while uppercase G and H represent the 24-hour format.

3. Leap year, week, day

Capital L indicates whether this year is a leap year, Boolean value, returns 1 if true, otherwise 0;

The lowercase l represents the full English word for the day of the week (Tuesday);

Instead, use a capital D to represent the 3-character abbreviation of the day of the week (Tue).

echo date('w'); //Example: Today's week: 2

echo date('W'); //Example: This week is the 06th week of the year

The lowercase w represents the day of the week, and the numeric form represents

Capital W represents the number of weeks in the year

echo date('t'); //Example: This month has 28 days

echo date('z'); //Example: Today is the 36th day of this year

Lowercase t represents the number of days in the current month

Lowercase z indicates what day of the year today is

4. Others

echo date('T'); //Example: UTC

A capital T represents the server’s time locale

echo date('I'); //Example: 0

Capital I means to determine whether the current daylight saving time is, if true, return 1, otherwise 0

echo date('U'); //Example: 1170769424

A capital U represents the total number of seconds from January 1, 1970 to the present, which is the UNIX timestamp of the Unix time epoch.

echo date('c'); //Example: 2007-02-06T14:24:43+00:00

Lowercase c represents an ISO8601 date, the date format is YYYY-MM-DD, the letter T is used to separate the date and time, the time format is HH:MM:SS, and the time zone is represented by the offset from Greenwich Mean Time (GMT).

echo date('r'); //Example: Tue, 06 Feb 2007 14:25:52 +0000

A lowercase r indicates the RFC822 date.

9.2.2 Obtain date information: getdate() function

Syntax:

Array getdate(int timestamp)

This function returns date and time information in the form of an array. If there is no timestamp, the current time shall prevail. The description of the associative array elements returned by this function is shown in Table 9-2:

Table 9-2: Description of associative array elements returned by the getdate() function

Element

Say Ming

seconds

Seconds, return value 0~59

minutes

Minutes, the return value is 0~59

hours

Hours, the return value is 0~23

mday

The day of the month, the return value is 1~31

wday

The day of the week, the return value is 0 (Sunday) ~ 6 (Saturday)

mon

Month number, return value is 1~12

year

The complete year represented by 4 digits, return value plus 2000 or 2008

yday

The day of the year, return value 0~365

weekday

The complete text representation of the day of the week, the return value is Sunday~Saturday

month

The complete text representation of the month, the return value is January~December

0

Returns the number of seconds since the UNIX epoch

Example:

$arr = getdate();

echo $arr[year]."-".$arr[mon]."-".$arr[mday]."";

echo $arr[hours].":".$arr[minutes].":".$arr[seconds]."".$arr[weekday];

echo "

";

echo "Today is the $arr[yday]th of year";

?>

Effect:

9.3 UNIX timestamp

The timestamp is the creation, modification, and access time in the file attributes. Digital time stamp service (DTS) is one of the web website security services that can provide security protection for the date and time information of electronic files.

9.3.1 What is timestamp

The timestamp is an encrypted credential document, which consists of 3 parts:

² Files that need to be timestamped are encrypted using Hash encoding to form a summary.

² DTS accepts the date and time information of the file.

² Encrypt received DTS files.

The digital time is added by the certification unit DTS, based on the time when DTS receives the file.

The working principle of timestamp is to convert the time value into an encrypted value through other encryption methods. When the time changes, the encrypted value also changes.

The advantage of the timestamp is that the changing encrypted value prevents the value from being stolen and illegally reused, which also plays the role of encryption. Timestamps mainly rely on time and generate a unique value within an agreed period of time.

9.3.2 Get local timestamp: mktime() function

Syntax:

int mktime(int hour, int minute, int month, int day, int year, int [is_dst])

Table 9-3: Parameter description of mktime() function

Parameter

Say Ming

hour

Hours

minute

Minutes

second

Number of seconds (within one minute)

month

Number of months

day

Number of days

year

Year number

is_dst

The parameter is_dst can be set to 1 during daylight saving time, or 0 if not; if not sure whether it is daylight saving time, set to -1 (default value)

Note: The typical range of valid timestamps is December 13, 1901 20:45:54 GMT to January 19, 2038 03:13:07 (this range conforms to the minimum and maximum values ​​​​of 32-bit signed integers) . In Windows systems, this range is limited to January 1, 1970 to January 19, 2038.

Example:

echo "The timestamp returned by the mktime function:".mktime()."

";

echo "The current date is:".date("Y-m-d",mktime())."

";

echo "The current time is:".date("H:i:s",mktime());

?>

Effect:

9.4 System time zone setting

During the learning process, many students found that the time obtained through the date() function is different from the local time. This is because PHP5 has rewritten the date() function. Therefore, the current date and time function is 8 hours less than the system time. . The default setting in the PHP language is standard Greenwich Time (that is, the zero time zone is used).

There are two main ways to change the time zone setting in PHP language:

1. Modify the settings in the php.ini file, find the;date.timezone = option under [date], change this item to date.timezone=Asia/Hong_Kong, and then restart the apache server.

2. In the application, add the following function before using the time and date function:

date_default_timezone_set(“Asia/Hong_Kong”);

After the setting is completed, the date() function can be used normally, and the time difference problem will no longer occur.

9.5 Date and time problems encountered in time development

9.5.1 Compare the size of two times

In actual development, we often encounter the problem of judging the size of two times. Times in PHP cannot be directly compared. Therefore, first output the time in timestamp format, and then compare. This is a commonly used method.

There are two functions that can achieve this function. The strtotime() function is used here, which can parse the date and time description of any English text into a UNIX timestamp. The syntax of this function is:

int strtotime(string time, int now)

This function has two parameters. If the format of the parameter time is an absolute time, the now parameter has no effect; if the format of the parameter time is a relative time, then the corresponding time is provided by the parameter now. If the parameter now is not provided, the corresponding time is the current time. If parsing fails, -1.

is returned

Example:

$time1 = date("Y-m-d H:i:s"); //Get the current time

$time2 = "2008-2-3 16:30:00"; //Set a time for variable $time2

echo "The time of variable/$time1 is: ".$time1."
"; //Output two time variables

echo "The time of variable/$time2 is: ".$time2."
";

If (strtotime($time1)-strtotime($time2)<0) { //Compare two times

              echo "/$time1 is earlier than /$time2";       //If time1-time2<0, it means that the time of time1 is first

}else{

             echo "/$time2 is earlier than /$time1"; // Otherwise, it means that time2 is earlier

}

?>

Effect:

9.5.2 Calculate the difference between two dates

In addition to comparing the size of two dates, the strtotime() function can also accurately know the difference between two dates. The following uses a small countdown program to explain to students how to use the strtotime() function to calculate the difference between two dates.

$time1 = strtotime(date( "Y-m-d H:i:s"));

$time2 = strtotime("2008-2-3 17:10:00");

$time3 = strtotime("2008-8-8");

$sub1 = ceil(($time2 - $time1) / 3600); $sub1 = ceil(($time2 - $time1) / 3600); //60 * 60

$sub2 = ceil(($time3 - $time1) / 86400); //60 * 60 * 24

echo "There are still $sub1 hours before the holiday!!!" ;

echo "

";

echo "There are still $sub2 days until the opening of the Beijing Olympics!!!";

?>

Effect:

9.5.3 Calculate the running time of the page script

When browsing websites, search engines are often used. When searching for information, careful users will find that at the bottom of the search results, there is usually the words "Search time is...seconds".

The microtime() function is used here, which returns the current UNIX timestamp and microseconds. Returns a string in the format msec sec, where sec is the current UNIX timestamp and msec is the number of microseconds. The format of this function is:

string microtime(void)

                                                  Let’s calculate the running time of the above example, the code is as follows:

function run_time()

{

List($msec, $sec) = explode(" ", microtime());

Return ((float)$msec + (float)$sec);

}

$start_time = run_time();

$time1 = strtotime(date( "Y-m-d H:i:s"));

$time2 = strtotime("2008-2-3 17:10:00");

$time3 = strtotime("2008-8-8");

$sub1 = ceil(($time2 - $time1) / 3600); $sub1 = ceil(($time2 - $time1) / 3600); //60 * 60

$sub2 = ceil(($time3 - $time1) / 86400); //60 * 60 * 24

echo "There are still $sub1 hours before the holiday!!!" ;

echo "

";

echo "There are still $sub2 days until the opening of the Beijing Olympics!!!";

$end_time = run_time();

?>

The example runs in seconds

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/478726.htmlTechArticlePHP provides a large number of built-in functions, allowing developers to handle time with ease and greatly improving work efficiency. Today we will introduce some common PHP date and time letters to students...
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