>  기사  >  백엔드 개발  >  php5에서 date()로 얻은 시간이 현재 시간이 아닌 이유에 대한 솔루션

php5에서 date()로 얻은 시간이 현재 시간이 아닌 이유에 대한 솔루션

PHPz
PHPz원래의
2016-07-29 08:38:241096검색

php5.10부터 PHP에 시간대 설정이 추가되었습니다. PHP에 표시되는 시간은 그리니치 표준시로 인해 중국 사용자에게는 8시간 차이가 나는 문제가 발생했습니다. [추천 튜토리얼: php 입문 튜토리얼]

관련 설정은 php.ini의 date.timezone 매개변수를 수정하는 것입니다:

[Date]
; Defines the default timezone used by the date functions
;date.timezone =

기본값은 닫힘이며, 댓글을 삭제하고 PRC가 "중화인민공화국"인

[Date]
; Defines the default timezone used by the date functions
date.timezone = PRC

으로 변경하세요!

다른 옵션은 php 매뉴얼을 참고하세요.

그런데 위 아시아 지역에서는 우리 수도인 베이징이 빠졌네요. 외국인이 일부러 그랬는지 모르겠네요!

php.ini 수정 권한이 없다면 시간과 날짜 함수 호출 시 date_default_timezone_set('

PRC')만 호출하면 됩니다!

date_default_timezone_get()을 호출하여 현재 시간대 설정을 볼 수도 있습니다!

XXX 관련 중국 본토에서 사용 가능한 값은

아시아/충칭, 아시아/상하이, 아시아/우루무치(순서대로 충칭, 상하이, 우루무치)

홍콩 및 대만 사용 가능 지역: 아시아/마카오, 아시아/홍콩, 아시아/타이베이(마카오, 홍콩, 타이페이 순서)

대만 지역 설정 가능: date.timezone = "Asia/ /타이페이"

그리고 싱가포르: 아시아/싱가포르

PHP5의 8시간 시차에 대한 해결책

php5를 설치한 후 포럼에서 우연히 누군가가 php5라고 말하는 것을 보았습니다. .1.2 시간 표시가 완전 8시간 적었습니다.

<?php
echo date("Y-m-d H:i:s");
?>

역시 제가 직접 테스트한 후 8시간 차이가 나더군요.

포럼에서 정보를 찾아보다가 드디어 해결책을 찾았습니다. PHP5 이상에서는 현지 시간(중국만 해당)을 출력해야 합니다

. :

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

다음과 같은 코드를 작성할 수도 있습니다.

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

이렇게 하면 8시간 시차 문제가 해결됩니다! ! ~~


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