>백엔드 개발 >PHP 문제 >PHP에 표시된 시간이 실제 시간과 다를 경우 어떻게 해야 하나요?

PHP에 표시된 시간이 실제 시간과 다를 경우 어떻게 해야 하나요?

青灯夜游
青灯夜游원래의
2021-09-07 18:49:342021검색

해결책: 1. "ini_set('date.timezone','PRC')"를 사용하여 시간대를 설정합니다. 2. "date_default_timezone_set('PRC')"를 사용하여 시간대를 설정합니다. , "date.timezone=PRC"를 설정합니다.

PHP에 표시된 시간이 실제 시간과 다를 경우 어떻게 해야 하나요?

본 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

PHP에서는 시간대 설정이 잘못되어 표시된 시간이 실제 시간과 일치하지 않습니다.

세계는 24개의 시간대로 나누어져 있으며, 각 시간대에는 같은 기간 내에서 각 시간대의 현지 시차가 1~23시간 정도 있습니다. 예를 들어 영국 런던의 현지 시간은 베이징 현지 시간과 8시간 시차가 있습니다.

표시된 시간을 실제 시간과 동일하게 설정하려면 시간대를 현지 시간대로 설정해야 합니다. 다음은 일반적인 시간대 식별자와 그 의미입니다.

  • 아시아/상하이 —— 상하이

  • 아시아/충칭 —— 충칭

  • 아시아/우루무치 —— 우루무치

  • 아시아/홍콩 —— 홍콩

  • 아시아/마카오 —— 마카오

  • 아시아/ 타이베이 —— 타이베이

  • Asia/Singapore —— 싱가포르

  • PRC —— 중국 시간대

참고: 중국에서는 시간대를 "아시아/상하이"로 설정할 수 있습니다. > 또는 PRC'. 설정이 성공적으로 완료되면 서버를 다시 시작하는 것을 잊지 마세요! Asia/Shanghai 或者 PRC”都可以,设置成功之后记得重启一下服务器!

下面看看设置时区的方法:

方法1:使用 ini_set() 函数设置时区

PHP 中的 ini_set() 函数可以设置指定配置选项的值,这个配置选项会在脚本运行时保持新的值,并在脚本结束时恢复。函数的语法格式如下:

ini_set($varname, $newvalue)

其中 $varname 为待修改的配置选项,$newvalue 为配置选项的新值。

示例:

<?php
header("Content-type:text/html;charset=utf-8"); 
ini_set(&#39;date.timezone&#39;, &#39;GMT&#39;);
echo &#39;当前的格林尼治时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time()).&#39;<br>&#39;;
ini_set(&#39;date.timezone&#39;, &#39;PRC&#39;);
echo &#39;国内当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time());
?>

输出结果:

PHP에 표시된 시간이 실제 시간과 다를 경우 어떻게 해야 하나요?

方法2:使用 date_default_timezone_set() 函数设置时区

PHP 中的 date_default_timezone_set() 函数可以为脚本中的所有时间日期函数设置一个默认时区,其语法格式如下:

date_default_timezone_set($timezone_identifier)

参数 $timezone_identifier 为时区标识符,例如 UTC(格林尼治时间)或 Europe/Lisbon(葡萄牙)。

自 PHP5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息,如果使用系统设定或 TZ 环境变量则还会产生 E_STRICT 级别的信息。

示例:

<?php
header("Content-type:text/html;charset=utf-8"); 
date_default_timezone_set(&#39;Europe/Lisbon&#39;);
echo &#39;葡萄牙的当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time()).&#39;<br>&#39;;
date_default_timezone_set(&#39;PRC&#39;);
echo &#39;国内当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time());
?>

输出结果:

PHP에 표시된 시간이 실제 시간과 다를 경우 어떻게 해야 하나요?

方法3:在配置文件php.ini中设置

PHP 的配置文件就是在 PHP 安装目录下的 php.ini 文件,找到并打开它。然后在文件中搜索date.timezone,我们会看到如下所示的一段信息:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =

其中;date.timezone =前面的;与 PHP 中的//功能相同,都是注释的意思,这里我们需要将这个;去掉,并在这一句的=

시간대 설정 방법을 살펴보겠습니다.

방법 1: ini_set() 함수를 사용하여 시간대 설정

🎜🎜ini_set() 함수 PHP에서는 지정된 구성 옵션 값을 설정할 수 있습니다. 이 구성 옵션은 스크립트가 실행되는 동안 새 값을 유지하고 스크립트가 끝나면 복원합니다. 함수의 구문 형식은 다음과 같습니다.
🎜
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = PRC
🎜여기서 $varname은 수정할 구성 옵션이고 $newvalue는 구성 옵션의 새 값입니다. 🎜🎜예:
🎜rrreee🎜출력 결과:
🎜🎜PHP에 표시된 시간이 실제 시간과 다를 경우 어떻게 해야 하나요?🎜🎜🎜방법 2: date_default_timezone_set() 함수를 사용하여 시간대를 설정하세요🎜🎜🎜PHP의 date_default_timezone_set() 함수는 모든 시간과 시간에 대한 기본값을 설정할 수 있습니다. 스크립트 시간대의 날짜 함수 구문 형식은 다음과 같습니다. 🎜rrreee🎜 매개 변수 $timezone_identifier는 UTC(그리니치 표준시) 또는 유럽/리스본(포르투갈)과 같은 시간대 식별자입니다. 🎜🎜PHP5.1.0(이 버전에서는 날짜 및 시간 함수가 다시 작성됨)부터 시간대가 불법인 경우 날짜 및 시간 함수를 호출할 때마다 시스템 설정이나 TZ 환경의 경우 E_NOTICE 수준 오류 메시지가 생성됩니다. 변수가 사용되면 E_STRICT 수준 메시지도 생성됩니다. 🎜🎜예: 🎜rrreee🎜출력 결과: 🎜🎜PHP에 표시된 시간이 실제 시간과 다를 경우 어떻게 해야 하나요?🎜🎜🎜방법 3: 구성 파일 php.ini에 설정 🎜🎜🎜PHP의 구성 파일은 PHP 설치 디렉터리에 있는 php.ini 파일을 찾아 엽니다. 그런 다음 파일에서 date.timezone을 검색하면 아래와 같은 정보가 표시됩니다. 🎜rrreee🎜여기서 ;date.timezone =이전 ;는 동일합니다. PHP의 //는 동일한 기능을 갖고 있으며 주석을 의미합니다. 여기서는 이를 제거하고 이 문장에서 = 뒤에 해당 시간대 식별자를 입력해야 합니다. , 아래와 같이 :🎜rrreee🎜🎜확장된 지식: 아시아에서 설정할 수 있는 시간대 식별자🎜🎜
아시아/아덴 아시아/알마티 아시아/암만 아시아/아나디르
아시아/아크타우 아시아/아크토베 아시아/아쉬가바트 아시아/아티라우
아시아/ 바그다드 아시아/바레인 아시아/바쿠 아시아/방콕
아시아/바르나울 아시아/베이루트 아시아/비슈케크 아시아/브루나이
아시아/치타 아시아/초이발산 아시아/콜롬보 아시아/다마스커스
아시아/다카 아시아/딜리 아시아/두바이 아시아/두샨베
아시아/파마구스타 아시아/가자 아시아/헤브론 아시아/호치민
아시아/홍콩 아시아/Hovd 아시아/이르쿠츠크 아시아/자카르타
아시아/자야푸라 아시아/예루살렘 아시아/카불 아시아/캄차카
아시아/카라치 아시아/카트만두 아시아/칸디가 아시아/콜카타
아시아/크라스노야르스크 아시아/쿠알라_룸푸르 아시아/쿠칭 아시아/쿠 잠깐
아시아/마카오 아시아/마가단 아시아/마카사르 아시아/마닐라
아시아/무스카트 아시아/니코시아 아시아/노보쿠즈네츠크 아시아/노보시비르스크
아시아/옴스크 아시아/오랄 아시아/프놈펜 아시아/폰티아낙
아시아/평양 아시아/카타르 아시아/코스타나이 아시아/Qyzylorda
아시아/리야드 아시아/사할린 아시아/사마르칸트 아시아/Seoul
Asia/Shanghai Asia/Singapore Asia/Srednekolymsk Asia/Taipei
Asia/Tashkent Asia/Tbilisi Asia/T ehran 아시아/팀푸
아시아/도쿄 아시아/톰스크 아시아/울란바토르 아시아/우루무치
아시아/우스트네라 아시아/비엔티안 아시아/블라디보스토크 아시아/Y akutsk
아시아/양곤 Asia/Yekaterinburg Asia/Yerevan  

推荐school习: 《PHP视频教程

위 내용은 PHP에 표시된 시간이 실제 시간과 다를 경우 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.