search
HomeBackend DevelopmentPHP TutorialThe difference between date and gmdate in PHP and the default time zone setting_PHP tutorial

1. What is the difference between date and gmdate?

There are two formatting functions in the PHP time function: date() and gmdate(). The description in the official document is:

Copy Code The code is as follows:
date() #— Format a local time/date
gmdate() #— Format a GMT/UTC date/time, return Green U.K. Standard Time (GMT).

Let’s take an example first. Our current time zone is +8, so the time returned by the server running the following script should be like this:
The current time is assumed to be 2013-03-14 12:15: 27
Copy code The code is as follows:
echo date('Y-m-d H:i:s'); #with date('Y-m-d H :i:s' time()); Equivalent, the output is: 2007-03-14 12:15:27
echo gmdate('Y-m-d H:i:s'); #With 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, then 2 Each function returns: 2013-03-14 04:15:27.
So, we should give a compatible writing method, use gmdate uniformly, and manually set the current time zone. The writing method is improved as follows:
Copy the code The code is as follows :
echo gmdate('Y-m-d H:i:s', time() + 3600 * 8);

This way, the correct result is obtained whether under Linux+Apache or Windows , of course, there is another advantage to writing like this. When the website is open to the whole world, then the website user only needs to set the time zone, and the program automatically calculates the time based on the time zone set by the user. Only the current time() is stored in the database for the information release time. The generated time, then the release time seen by users in China +8 time zone is: 2007-03-14 12:15:27, then the release time seen by users in Europe +2 time zone is: 2007-03-14 06:15:27, so that all the times of the information correspond correctly.

2. Will changing the default time zone of PHP affect it?

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.

The default time zone setting of PHP 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:

Copy the code The code is 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/virtual hosting space 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 use of this function is as follows:


Copy code The code is 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());

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/769237.htmlTechArticle1. What is the difference between date and gmdate? There are two formatting functions in the PHP time function: date() and gmdate(). The description in the official document is: Copy the code as follows: date() #— grid...
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
How do you create and use an interface in PHP?How do you create and use an interface in PHP?Apr 30, 2025 pm 03:40 PM

The article explains how to create, implement, and use interfaces in PHP, focusing on their benefits for code organization and maintainability.

What is the difference between crypt() and password_hash()?What is the difference between crypt() and password_hash()?Apr 30, 2025 pm 03:39 PM

The article discusses the differences between crypt() and password_hash() in PHP for password hashing, focusing on their implementation, security, and suitability for modern web applications.

How can you prevent Cross-Site Scripting (XSS) in PHP?How can you prevent Cross-Site Scripting (XSS) in PHP?Apr 30, 2025 pm 03:38 PM

Article discusses preventing Cross-Site Scripting (XSS) in PHP through input validation, output encoding, and using tools like OWASP ESAPI and HTML Purifier.

What is autoloading in PHP?What is autoloading in PHP?Apr 30, 2025 pm 03:37 PM

Autoloading in PHP automatically loads class files when needed, improving performance by reducing memory use and enhancing code organization. Best practices include using PSR-4 and organizing code effectively.

What are PHP streams?What are PHP streams?Apr 30, 2025 pm 03:36 PM

PHP streams unify handling of resources like files, network sockets, and compression formats via a consistent API, abstracting complexity and enhancing code flexibility and efficiency.

What is the maximum size of a file that can be uploaded using PHP ?What is the maximum size of a file that can be uploaded using PHP ?Apr 30, 2025 pm 03:35 PM

The article discusses managing file upload sizes in PHP, focusing on the default limit of 2MB and how to increase it by modifying php.ini settings.

What is Nullable types in PHP ?What is Nullable types in PHP ?Apr 30, 2025 pm 03:34 PM

The article discusses nullable types in PHP, introduced in PHP 7.1, allowing variables or parameters to be either a specified type or null. It highlights benefits like improved readability, type safety, and explicit intent, and explains how to declar

What is the difference between the unset() and unlink() functions ?What is the difference between the unset() and unlink() functions ?Apr 30, 2025 pm 03:33 PM

The article discusses the differences between unset() and unlink() functions in programming, focusing on their purposes and use cases. Unset() removes variables from memory, while unlink() deletes files from the filesystem. Both are crucial for effec

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function