Home > Article > Backend Development > Do you know the difference between php date and gmdate for obtaining dates?
There are two formatting functions for time in PHP: date() and gmdate()
date() function format Converts the local date and time and returns a formatted date string . gmdate -- Format a GMT/UTC date/time, returning Greenwich Mean Time (GMT).
gmdate() function formats GMT/UTC date and time and returns the formatted date string.
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 2017-07-11 12:15 :27
echo date('Y-m-d H:i:s', time()); The output is: 2017-07-11 12:15:27
Echo gmdate('Y-m-d H:i:s', time()); The output is: 2017-07-11 04:15:27
But this is only in Linux +The result of running PHP under Apache. If running under Windows, the two functions return: 2017-07-11 04:15:27.
Therefore, we should give a compatible writing method, use gmdate uniformly, and manually set the current time zone. The writing method is improved as follows:
echo gmdate('Y-m-d H:i:s', time () + 3600 * 8);
In this way, the correct result is obtained no matter under Linux+Apache or Windows. Of course, there is another advantage to writing like this. When the website is for the whole world, then the website As long as the user sets the time zone, the program automatically calculates the time based on the time zone set by the user. The information release time in the database only stores the time generated by the current time(). Then the release time seen in the China +8 time zone is: 2017- 07-11 12:15:27, then users in the European +2 time zone will see the release time of this information is: 2017-07-11 06:15:27, so the time of the information will all correspond correctly.
The above is the detailed content of Do you know the difference between php date and gmdate for obtaining dates?. For more information, please follow other related articles on the PHP Chinese website!