>  기사  >  백엔드 개발  >  PHP에서 시간대를 설정하는 방법

PHP에서 시간대를 설정하는 방법

不言
不言원래의
2018-04-09 17:37:0511787검색

이 글의 내용은 PHP에서 시간대를 설정하는 내용입니다. 도움이 필요한 친구들은 참고하시면 됩니다

오늘 PHP 코드 일부에서 시간 판단문에 잘못된 점을 발견했습니다. PHP에 타임존 설정이 있는데 PHP에서 걸리는 시간은 기본적으로 그리니치 표준시이므로 베이징 시간과 8시간이 다릅니다

이유를 찾은 후 PHP에서 타임존 설정 방법을 검색해봤습니다. 인터넷:

1. php.ini를 수정하고 php.ini에서 data.timezone =을 찾아 앞에 있는 ; 숫자를 제거한 다음 data.timezone = "Asia/Shanghai";를 설정합니다.

2. PHP 버전 5 이상의 프로그램 코드에서 ini_set('date.timezone','Asia/Shanghai'); 또는 date_default_timezone_set('Asia/Shanghai'); 기능을 사용하세요. 시간대 식별자:

Asia/Shanghai – Shanghai
Asia/Chongqing – Chongqing
Asia/Urumqi – Urumqi
Asia/Hong_Kong – Hong Kong
Asia/Macao – Macau
Asia/Taipei – Taiwan
Asia/Singapore – Singapore



함수 설정 시간대 방법:

코드 복사

코드는 다음과 같습니다.

<?php 
function_exists(date_default_timezone_set);//在这他总是返回1,这函数是判断这里面的字符是不是一个定义了的函数名 
date_default_timezone_set("Etc/GMT");//这是格林威治标准时间,得到的时间和默认时区是一样的 
date_default_timezone_set("Etc/GMT+8");//这里比林威治标准时间慢8小时 
date_default_timezone_set("Etc/GMT-8");//这里比林威治标准时间快8小时 
date_default_timezone_set(&#39;PRC&#39;); //设置中国时区 
?>


시간대를 설정하는 ini_set() 함수:
ini_set('date.timezone'을 추가할 수 있습니다. ,'Asia/Shanghai'); / / 'Asia/Shanghai'는 상하이 시간대입니다.

php.ini 설정을 수동으로 수정하세요.
PHP를 열고 date.timezone = "PRC"인 경우 앞의 세미콜론을 제거하세요. , 그렇지 않은 경우 수동으로 추가하세요!

다음은 몇 가지 추가 정보입니다.

PHP5를 설치하면 이 문제가 발생합니다

$atime=date("Y-m-d H:i:s")
echo $atime?> 출력: 2006-05-16 06:36:06
지금 몇 시야?/내 시간은 14:36 ​​​​
이게 왜죠?
그 이유는 프로그램이나 구성 파일에서 서버의 현지 시간대를 설정하지 않으면
PHP에서 걸리는 시간은 그리니치 표준시이므로 현지 시간과 다를 수 있기 때문입니다
그리니치 표준시와 베이징 시간 대략 8시간 정도의 차이가 있습니다. 그렇다면 시간 오류를 방지하려면 어떻게 해야 할까요?
해결책을 살펴보겠습니다.
페이지 헤더의 date_default_timezone_set()을 사용하여 기본 시간대를 베이징 시간으로 설정하세요



코드를 복사하세요
코드는 다음과 같습니다.

<? 
date_default_timezone_set(&#39;PRC&#39;); 
echo date(&#39;Y-m-d H:i:s&#39;); 
?>

시간은 첨부된 날짜는 date_default_timezone_set 입니다. 사용법은 다음과 같습니다. ------------------------------- ------------------ -------------------------------- -----

date_default_timezone_set

(PHP 5 >= 5.1.0RC1 )
date_default_timezone_set -- 스크립트의 모든 날짜 및 시간 함수에 대한 기본 시간대 설정
설명
bool date_default_timezone_set ( 문자열 timezone_identifier )
date_default_timezone_set() Set 모든 날짜 및 시간 기능의 기본 시간대입니다.
참고: PHP 5.1.0(이 버전에서는 날짜 및 시간 함수가 다시 작성됨)부터 시간대가 불법인 경우 날짜 및 시간 함수를 호출할 때마다 E_NOTICE 수준 오류 메시지가 생성됩니다.
매개변수
timezone_identifier
UTC 또는 유럽/리스본과 같은 시간대 식별자
반환 값
이 함수는 항상 TRUE를 반환합니다(timezone_identifier 매개변수가 불법인 경우에도).
-------------------------------------- -----------------------
또는 php.ini
date에서 date.timezone 값을 수정하세요. .timezone = PRC

PHP5를 설치한 후 이 문제를 발견하게 됩니다.
$atime=date("Y-m-d H:i:s")
echo $atime?> :06
지금 몇 시야?/내 시간은 14시 36분 ​​
이게 왜죠?
그 이유는 프로그램이나 구성 파일에서 서버의 현지 시간대를 설정하지 않으면
PHP에서 걸리는 시간은 그리니치 표준시이므로 현지 시간과 다를 수 있기 때문입니다
그리니치 표준시와 베이징 시간 대략 8시간 정도의 차이가 있습니다. 그렇다면 시간 오류를 방지하려면 어떻게 해야 할까요?
해결책을 살펴보겠습니다.
헤더에서 date_default_timezone_set()을 사용하여 기본 시간대를 베이징 시간으로 설정합니다.



코드를 복사합니다
코드는 다음과 같습니다.

<? 
date_default_timezone_set(&#39;PRC&#39;); 
echo date(&#39;Y-m-d H:i:s&#39;); 
?>

时间和服务器当前时间一样了!
另外附date_default_timezone_set用法如下:
------------------------------------------------------------------------------------
date_default_timezone_set
(PHP 5 >= 5.1.0RC1)
date_default_timezone_set -- 设定用于一个脚本中所有日期时间函数的默认时区
说明
bool date_default_timezone_set ( string timezone_identifier )
date_default_timezone_set() 设定用于所有日期时间函数的默认时区。
注: 自 PHP 5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息。
参数
timezone_identifier
时区标识符,例如 UTC 或 Europe/Lisbon
返回值
本函数永远返回 TRUE(即使 timezone_identifier 参数不合法)。
-------------------------------------------------------------------------------------
或者修改 php.ini 中 date.timezone 值
date.timezone = PRC

相关推荐:

PHP设置头信息及取得返回头信息方法

PHP设置Cookie的HTTPONLY属性方法详解

위 내용은 PHP에서 시간대를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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