Home > Article > Backend Development > What will happen if the php time zone is not changed?
If the php time zone is not changed, the time entered into the database and the time obtained will be different from the actual time. The solution: 1. Change "data.timezone = PRC" in the php.ini file; 2. Add "data_default_timezone_set('PRC');".
The operating environment of this article: windows7 system, PHP version 7.4, DELL G3 computer
What will happen if the time zone of php is not changed?
If the PHP time zone is not changed, the time entered into the database and the time obtained will be different from the actual time.
Solutions to time zone problems encountered in PHP
Recently, when writing a small program using PHP MySQL, I discovered a problem: the time entered into the database does not match the actual time. The time difference is 8 hours, which is consistent with the East 8th District where China is located. Since the database time is written by PHP, the problem occurs in PHP.
Recently, while learning PHP, I discovered that the formatted timestamp in PHP is 8 hours later than Beijing time. After searching online, I found that the time zone is wrong. The solution is:
1. Permanent modification
Change data.timezone = PRC in the php.ini file. This is Chinese time. It will take effect after restarting the Apache service.
2. Temporary modification
Before using formatted input time, add ini_set('date.timezone','Asia/Shanghai');
or data_default_timezone_set(' PRC');//date_default_timezone_set() function sets the default time zone used for all date/time functions in the script.
Look at the problems encountered by other friends
There was a legacy problem before, that is, the time returned by echo date("Y-m-d H:i:s",time()) is always the same as The actual time does not match up. I finally found the reason and solution online today. I share it as follows:
Additionally, follow the tips below to modify php.ini and cannot find the date.timezone line. Is this right? There's nothing you can do about it, of course not, haha, if you don't have it, just add it yourself, and make enough food and clothing by yourself. Adding date.timezone = "PRC", the problem is solved, I am happy
Starting from php5.1.0, the date.timezone option has been added to php.ini, which is turned off by default
That is, the displayed time (no matter what php command is used) is Greenwich Mean Time, which is exactly 8 hours different from our time (Beijing time). There are three methods below to restore the normal time.
1, the simplest way is not to use php5.1 or above version
2, if you must use it, and you cannot modify php.ini, you need to initialize the time statement Add date_default_timezone_set (XXX);
3 to the above, once and for all, only php.ini can be modified. Open php.ini and search for date.timezone. Remove the semicolon in front
= and add XXX after it. Restart the http service (such as apache2 or iis, etc.)
Recommended learning: "PHP Video tutorial》
The above is the detailed content of What will happen if the php time zone is not changed?. For more information, please follow other related articles on the PHP Chinese website!