Home  >  Article  >  Backend Development  >  What will happen if the php time zone is not changed?

What will happen if the php time zone is not changed?

藏色散人
藏色散人Original
2021-12-01 09:24:461432browse

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');".

What will happen if the php time zone is not changed?

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!

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