>백엔드 개발 >PHP 튜토리얼 >PHP_php 팁에서 발생하는 시간대 문제에 대한 솔루션

PHP_php 팁에서 발생하는 시간대 문제에 대한 솔루션

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-05-16 20:10:131077검색

최근 PHP를 배우면서 PHP의 형식화된 타임스탬프가 베이징 시간보다 8시간 늦다는 것을 발견했습니다. 그리고 시간대가 잘못되었음을 발견했습니다.

1. 영구수정

php.ini 파일에서 data.timezone = PRC를 변경하세요. 중국 시간입니다. Apache 서비스를 다시 시작한 후에 적용됩니다.

2. 임시수정

형식화된 입력 시간을 사용하기 전에 ini_set('date.timezone','Asia/Shanghai')를 추가하세요.
또는 data_default_timezone_set('PRC');//date_default_timezone_set() 함수는 스크립트의 모든 날짜/시간 함수에 사용되는 기본 시간대를 설정합니다.

다른 친구들이 겪는 문제를 살펴보세요

이전에도 레거시 문제가 있었습니다. 즉, echo date("Y-m-d H:i:s", time())에서 반환한 시간이 항상 실제 시간과 일치하지 않는 문제가 오늘 드디어 원인과 해결 방법을 찾았습니다. 온라인으로 공유했습니다.

한 가지 더, 아래 방법으로 php.ini를 수정하여 date.timezone 라인을 찾을 수 없다면, 당연히 방법이 없습니다. 하하, 그렇지 않다면 그냥 추가하시면 됩니다. 그러면 너는 먹을 것과 입을 것이 충분할 것이다. date.timezone = "PRC"를 추가하면 문제가 해결되어 기쁘네요

php5.1.0부터 php.ini에 date.timezone 옵션이 추가되었으며, 기본적으로 꺼져있습니다

즉, 표시되는 시간(php 명령이 무엇이든 관계 없음)은 그리니치 표준시이며, 이는 우리 시간(베이징 시간)과 정확히 8시간 시차가 납니다. 정상 시간을 복원하는 방법은 다음과 같습니다.

1. 가장 간단한 방법은 php5.1 이상을 사용하지 않는 것입니다

2. 반드시 사용해야 하고 php.ini 수정이 불가능한 경우에는 시간에 대한 초기화문 위에 date_default_timezone_set(XXX)
을 추가해야 합니다.

3. php.ini만 수정할 수 있습니다. php.ini를 열고 date.timezone을 검색한 후 세미콜론을 제거하세요
= 뒤에 XXX를 추가하고 http 서비스(예: apache2 또는 iis 등)를 다시 시작하세요.

XXX의 경우 중국 본토에서 사용 가능한 값은 다음과 같습니다. 아시아/충칭, 아시아/상하이, 아시아/우루무치(중경, 상하이, 우루무치 순서)

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

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

외국인들은 베이징을 그리워하는 것 같아요

사용 가능한 기타 값은 다음과 같습니다: Etc/GMT-8, 싱가포르, 홍콩, PRC

중화인민공화국이란 무엇인가요? PRC는 중화인민공화국이다-_-

—————————————————————————————————————

해결책: 헤더에 date_default_timezone_set()를 사용하여 기본 시간대를 베이징 시간으로 설정 date_default_timezone_set('PRC');
echo date('Y-m-d H:i:s'); 시간은 서버의 현재 시간과 같습니다. 축하합니다. 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()은 모든 날짜/시간 함수에 사용되는 기본 시간대를 설정합니다.
참고: PHP 5.1.0(이 버전에서는 날짜 및 시간 함수가 다시 작성됨)부터 시간대가 불법인 경우 날짜 및 시간 함수를 호출할 때마다 E_NOTICE 수준 오류 메시지가 생성됩니다.

위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.

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