php strtotime 시간대 문제, 일부 연도에는 UTC 시간대와 PRC 시간대가 9시간씩 다릅니다.
刘强
刘强 2019-01-29 10:33:31
0
5
1507
$timeStr='1987-5-4';
echo '测试时间:'.$timeStr;
echo PHP_EOL;
$prcTime=strtotime($timeStr);
echo 'PRC时间:';
echo $prcTime;
echo PHP_EOL;
date_default_timezone_set('UTC');
$utcTime=strtotime($timeStr);
echo 'UTC时间:';
echo $utcTime;
echo PHP_EOL;
echo 'UTC与PRC时间相差:'.(($utcTime-$prcTime)/3600).'小时';
echo PHP_EOL;

결과:

테스트 시간: 1987-5-4

PRC 시간: 547052400

UTC 시간: 547084800

UTC와 PRC 시간 차이: 9시간


테스트됨, 1987-1 9 1991 사이의 차이점 날짜, UTC 및 PRC 시간은 9시간입니다.

php 버전은

PHP 7.1.9 (cli) (빌드: Aug 30 2017 18:34:46) ( ZTS MSVC14 (Visual C++ 2015) x64 )

Copyright (c) 1997-2017 The PHP Group

Zend 엔진 v3.1.0, 저작권 (c) 1998-2017 Zend Technologies


刘强
刘强

모든 응답(1)
刘强

질문을 깜빡했는데, 그 이유가 무엇인가요? 이 버그를 처리하는 방법은 무엇입니까?

  • 회신하다 우리는 동부 8구역에 있고 PHP 시간은 0구역부터 시작하므로 8시간의 차이가 있습니다. (PS: 저는 중학교 때 지리를 잘 배우지 못했습니다.) 해결책: 1. PHP 구성 파일 수정 2. date_default_timezone_set을 사용하세요.
    jesse 작가 2019-01-29 13:13:39
  • 회신하다 글쎄요, 8시간의 차이가 있는데, 여기서 PRC ​​East Eighth District와 UTC의 차이는 9시간이고 이는 연도(1987-1991)의 일부일 뿐입니다.
    刘强 작가 2019-01-31 08:54:36
  • 회신하다 저도 이틀 전에 이 문제를 겪었고, 그룹에서 논의한 결과 일광 절약 시간제 때문이라는 대략적인 결론을 내렸습니다.
    唐润 작가 2020-01-20 09:33:17
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿