


What is the difference between date and gmdate in PHP? _PHP Tutorial
What is the difference between date and gmdate in PHP?
1. What is the difference between date and gmdate in PHP?
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.
2. The impact of modifying PHP’s default time zone on them
Each region has its own local time. On the Internet and in radio communications, the problem of time conversion is particularly prominent. The entire earth is divided into twenty-four time zones, each with its own local time. In international radio or network communication situations, for the sake of unification, a unified time is used, called Universal Time Coordinated (UTC), which is a global standard time set by the world time standard. UTC was originally also known as Greenwich Mean Time (GMT, Greenwich Mean Time), which is the same as the local time in London, UK.
PHP’s default time zone setting is UTC time, and Beijing is located in the East Eighth District of the time zone, eight hours ahead of UTC. Therefore, when using functions such as time() in PHP to obtain the current time, the time obtained is always wrong, showing that it is eight hours different from Beijing time. If you want to display Beijing time correctly, you need to modify the default time zone settings, which can be done in the following two ways.
If you are using an independent server and have permission to modify the configuration file, setting the time zone can be completed by modifying the date.timezone attribute in php.ini. We can set the value of this attribute to one of "Asia/Shang", "Asia/Chongqing", "Etc/GMT-8" or PRC, etc., and then the current time obtained in the PHP script is Beijing time. Modify the PHP configuration file as follows:
Date.timezone = Etc/GMT-8
//Set the default time zone in the configuration file to East 8 District (Beijing time)
If you are using a shared server and do not have permission to modify the configuration file php.ini, and the PHP version is above 5.1.0, you can also call the date_default_timezone_set() function to set the time zone before outputting the time. This function needs to provide a time zone identifier as a parameter, which is the same as the value of the date.timezone attribute in the configuration file. The function is used as follows:
Date_default_timezone_set(‘PRC’);
//Set the time zone before outputting the time, PRC is the People’s Republic of China echo date(‘Y-m-d H:i:s’, time());
//The current time output is Beijing time
3. Test:
1. The code is as follows:
Date_default_timezone_set(‘Etc/GMT’);
//Set the time zone before the output time, Etc/GMT is the time standard time
echo(time());
echo(‘
’);
echo date(‘Y-m-d H:i:s’, time());
echo(‘
’);
echo gmdate (“Y-m-d H:i:s”, time());
echo(‘
’);
Date_default_timezone_set(‘PRC’);
//Set the time zone before the output time, PRC is the People's Republic of China
echo(time());
echo(‘
’);
echo date(‘Y-m-d H:i:s’, time());
echo(‘
’);
echo gmdate (“Y-m-d H:i:s”, time());
?>
Copy code
2. Result:
1276257131
2010-06-11 11:52:11
2010-06-11 11:52:11
1276257131
2010-06-11 19:52:11
2010-06-11 11:52:11
3. Conclusion:
(1) time(): standard timestamp
Refers to returning the number of seconds since the Unix epoch (00:00:00 on January 1, 1970, Greenwich Mean Time) to the current time (referring to the current GMT standard time). Its value is the same as the time zone set by the PHP system. Nothing to do.
Date(): returns the "custom format" time of the localized time of the current GMT standard time, which is related to the time zone set by the PHP system.
gmdate(): Returns the "custom format" time of the current GMT standard time, which has nothing to do with the time zone set by the PHP system.
(2) unix timestamp: refers to the number of seconds from the current (GMT standard) time to the unix epoch time (1970-01-01 00:00:00);
Code:
Date_default_timezone_set(‘Etc/GMT’);
//Set the time zone before the output time, Etc/GMT is the time standard time
echo(strtotime(’1970-01-01 08:00:00′));
echo(‘
’);
Date_default_timezone_set(‘PRC’);
//Set the time zone before the output time, PRC is the People's Republic of China
echo(strtotime(’1970-01-01 08:00:00′));
?>
Copy code
Test results:
28800
0
strtotime(a): The unix timestamp of the GMT standard time of the current time. If the time zone set by the current PHP system is not the GMT standard time zone, when strtotime(a) is applied, the system will automatically convert time a into the corresponding GMT standard time, and then calculate the unix timestamp of this time. It is related to the time zone set by the php system

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



In PHP, you can effectively prevent CSRF attacks by using unpredictable tokens. Specific methods include: 1. Generate and embed CSRF tokens in the form; 2. Verify the validity of the token when processing the request.

H5. The main difference between mini programs and APP is: technical architecture: H5 is based on web technology, and mini programs and APP are independent applications. Experience and functions: H5 is light and easy to use, with limited functions; mini programs are lightweight and have good interactiveness; APPs are powerful and have smooth experience. Compatibility: H5 is cross-platform compatible, applets and APPs are restricted by the platform. Development cost: H5 has low development cost, medium mini programs, and highest APP. Applicable scenarios: H5 is suitable for information display, applets are suitable for lightweight applications, and APPs are suitable for complex functions.

Export password-protected PDF in Photoshop: Open the image file. Click "File"> "Export"> "Export as PDF". Set the "Security" option and enter the same password twice. Click "Export" to generate a PDF file.

Strict types in PHP are enabled by adding declare(strict_types=1); at the top of the file. 1) It forces type checking of function parameters and return values to prevent implicit type conversion. 2) Using strict types can improve the reliability and predictability of the code, reduce bugs, and improve maintainability and readability.

In PHP, the final keyword is used to prevent classes from being inherited and methods being overwritten. 1) When marking the class as final, the class cannot be inherited. 2) When marking the method as final, the method cannot be rewritten by the subclass. Using final keywords ensures the stability and security of your code.

The future of PHP will be achieved by adapting to new technology trends and introducing innovative features: 1) Adapting to cloud computing, containerization and microservice architectures, supporting Docker and Kubernetes; 2) introducing JIT compilers and enumeration types to improve performance and data processing efficiency; 3) Continuously optimize performance and promote best practices.

There are differences in the promotion methods of H5 and mini programs: platform dependence: H5 depends on the browser, and mini programs rely on specific platforms (such as WeChat). User experience: The H5 experience is poor, and the mini program provides a smooth experience similar to native applications. Communication method: H5 is spread through links, and mini programs are shared or searched through the platform. H5 promotion methods: social sharing, email marketing, QR code, SEO, paid advertising. Mini program promotion methods: platform promotion, social sharing, offline promotion, ASO, cooperation with other platforms.

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.
