PHP에는 날짜()와 gmdate()라는 두 가지 시간 형식 지정 함수가 있습니다. 공식 문서의 설명은 다음과 같습니다.
날짜 - 현지 시간/날짜 형식 지정
gmdate - GMT/UTC 날짜/시간 형식 지정, 반환값은 그리니치입니다. 평균시(GMT).
예를 들어, 현재 우리가 있는 시간대는 +8이고 다음 스크립트를 실행하는 서버가 반환하는 시간은 다음과 같아야 합니다.
현재 시간은 2007-03-14 12:15:27
echo date( 'Ymd H:i:s', time()); 출력은 2007-03-14 12:15:27
echo gmdate('Ymd H:i:s', time()); -03-14 04:15:27
그러나 이는 Linux+Apache에서 PHP를 실행한 결과일 뿐입니다. Windows에서 실행하는 경우 두 함수는 2007-03-14 04:15:27을 반환합니다.
따라서 호환 가능한 쓰기 방식을 제공하고 gmdate를 균일하게 사용하며 현재 시간대를 수동으로 설정해야 합니다.
echo gmdate('Ymd H:i:s', time() + 3600 * 8) );
이런 식으로 하면 Linux+에서는 상황이 어떠하든 Apache와 Windows 모두에서 올바른 결과를 얻을 수 있습니다. 물론 전 세계를 대상으로 하는 웹사이트의 경우 웹사이트 사용자만을 대상으로 하는 경우에는 또 다른 이점이 있습니다. 시간대를 설정해야 하며, 프로그램은 사용자가 설정한 시간대를 기준으로 시간을 자동으로 계산합니다. 데이터베이스의 정보 릴리스 시간은 현재 시간()에 의해 생성된 시간만 저장합니다. 중국 +8 시간대는 2007-03-14 12:15:27이며, 유럽 +2 시간대의 사용자는 이 정보의 릴리스 시간이 2007-03-14 06:15:27이므로 시간은 다음과 같습니다. 정보는 모두 정확하게 일치합니다.