There are two formatting functions for time in PHP: date() and gmdate(). The description in the official document is: Date -- Format a local time/date gmdate -- Format a GMT/UTC date/time, returning Greenwich Mean Time (GMT). For example, our current time zone is +8, then the time returned by the server running the following script should be like this: The current time is assumed to be 2007-03-14 12:15:27 echo date(Y-m-d H:i:s, time()); The output is: 2007-03-14 12:15:27 echo gmdate(Y-m-d H:i:s, time()); The output is: 2007-03-14 04:15:27 But this is only the result of running PHP under Linux+Apache. If it is run under Windows, the two functions return: 2007-03-14 04:15:27. Therefore, we should give a compatible writing method, use gmdate uniformly, and set the current time zone manually. The writing method is improved as follows: echo gmdate(Y-m-d H:i:s, time() + 3600 * 8); In this way, the correct results are obtained regardless of whether it is under Linux+Apache or Windows. Of course, there is another advantage to writing this way. When the website is for the whole world, the website user only needs to set the time zone, and the program will automatically adjust according to the user's time zone. The set time zone is used for time calculation. The information release time in the database only stores the time generated by the current time(). Then the release time seen in China +8 time zone is: 2007-03-14 12:15:27, then in Users in the European +2 time zone will see that the release time of this information is: 2007-03-14 06:15:27, so that all the times of the information will be correct.