Solution to incorrect time display in php: 1. Insert "date_default_timezone_set(PRC);" before adding time; 2. Output "date("Y-m-d H:i:s", time() 8* 60*60);"; 3. Modify the content of the "php.ini" file to "date.timezone = PRC".
The operating environment of this tutorial: Windows 7 system, PHP version 8.1, Dell G3 computer.
What should I do if the time displayed in php is incorrect?
Solution to the inaccurate problem of PHP obtaining the current time
Starting from php5.1.0, the date.timezone option has been added to php.ini, and by default The following is closed, which means that the displayed time (no matter what php command is used) is exactly 8 hours different from Greenwich Mean Time and our time (Beijing time).
About timezone, the available values in mainland China are: Asia/Chongqing, Asia/Shanghai, Asia/Urumqi, PRC (in order Chongqing, Shanghai, Urumqi, People's Republic of China) available in Hong Kong and Taiwan: Asia/Macao, Asia/Hong_Kong, Asia/Taipei (Macau, Hong Kong, Taipei in order) and Singapore: Asia/Singapore Others: Etc/GMT-8, Singapore, Hongkong
Solution 1:
Insert before adding the time: CODE: (It seems that there is no need to add) date_default_timezone_set(PRC);
Solution two:
echo date("Y-m-d H:i:s", time()+8*60*60);
Solution three (modify the php.ini file):
Find the ";date.timezone=" line in php.ini, remove the ";" and change it to "date.timezone = PRC" (PRC: People's Republic of China People's Republic of China). Restart Apache and the problem is solved. .
Attachment: date time format
date("Y-m-d H:i:s"); 显示的格式: 年-月-日 小时:分钟:秒
Related time parameters:
a - "am" or "pm"
A - "AM" or Is "PM"
d - Day, two digits, if there are less than two digits, add zero in front; For example: "01" to "31"
D - Day of the week, three English letters; such as: "Fri"
F - month, full English name; such as: "January"
h - hour in 12-hour format; such as: "01" to "12"
H - hour in 24-hour format; such as: "00" to "23"
g - hour in 12-hour format, no zeros are added for less than two digits; such as: "1" to 12"
G - hour in 24-hour format, no zeros are added if there are less than two digits; such as: "0" to "23"
i - minutes; such as: "00" to "59 "
j - day, two digits, if there are less than two digits, do not add zero; such as: "1" to "31"
l - day of the week, full English name; such as: "Friday"
m - month, two digits, if there are less than two digits, add zeros in front; For example: "01" to "12"
n - month, two digits, If there are less than two digits, no zeros will be added; such as: "1" to "12"
M - month, three English letters; such as: "Jan"
s - seconds; such as: "00" to "59"
S - add an English ordinal number at the end of the word, two English letters; such as: "th", "nd"
t - specify the number of days in the month; such as: "28" to "31"
U - Total seconds
w - Numeric day of the week, such as: "0" (Sunday) to "6" (Saturday)
Y - year, four digits; such as: "1999"
y - year, two digits; such as: "99"
z - day of the year ; Such as: "0" to "365"
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What to do if php time display is incorrect. For more information, please follow other related articles on the PHP Chinese website!