Home Backend Development PHP Tutorial The difference between date and gmdate in PHP and the default time zone setting_PHP tutorial

The difference between date and gmdate in PHP and the default time zone setting_PHP tutorial

Jul 13, 2016 am 10:29 AM
date php

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 of this Website
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

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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

CakePHP Date and Time CakePHP Date and Time Sep 10, 2024 pm 05:27 PM

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

CakePHP File upload CakePHP File upload Sep 10, 2024 pm 05:27 PM

To work on file upload we are going to use the form helper. Here, is an example for file upload.

Discuss CakePHP Discuss CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

CakePHP Creating Validators CakePHP Creating Validators Sep 10, 2024 pm 05:26 PM

Validator can be created by adding the following two lines in the controller.

CakePHP Logging CakePHP Logging Sep 10, 2024 pm 05:26 PM

Logging in CakePHP is a very easy task. You just have to use one function. You can log errors, exceptions, user activities, action taken by users, for any background process like cronjob. Logging data in CakePHP is easy. The log() function is provide

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

CakePHP Services CakePHP Services Sep 10, 2024 pm 05:26 PM

This chapter deals with the information about the authentication process available in CakePHP.

See all articles