PHP 프로그래밍에서 때때로 우리는 조정 된 UTC (Universal Time)라고도하는 현재 그리니치 표준 시간 (GMT)을 가져와야합니다. PHP는 매우 편리한 방법 조합을 제공합니다. gmdate () 함수와 Time () 함수는이 요구 사항을 쉽게 달성 할 수 있습니다.
gmdate () : 날짜 와 유사하지만 현지 시간이 아닌 GMT 시간을 반환합니다.
Time () : UNIX 시대 이후 현재 타임 스탬프를 반환합니다 (1970 년 1 월 1 일 00:00:00 GMT).
이 두 기능을 결합하면 현재 GMT 시간을 얻을 수 있습니다.
<?php
echo gmdate("Y-m-d H:i:s", time());
?>
이 코드는 다음 형식과 유사한 GMT 시간 문자열을 출력합니다.
2025-05-22 07:45:30
"YMD H : I : S" 는 PHP에서 일반적으로 사용되는 날짜 및 시간 형식으로, 해당 연도 시간 : 분 : 초.
Time () 현재 UNIX 타임 스탬프를 반환합니다.
gmdate ()는 이 타임 스탬프를 수신하고 GMT 표준에 따라 시간을 형식화합니다.
교차 시간 구역 데이터 레코드 : 국제 응용 분야에서 GMT 시간의 통일 된 사용은 시간 구역 차이로 인한 데이터 혼란을 피하는 데 도움이됩니다.
로그 시스템 : 많은 시스템 로그는 GMT 시간 형식을 사용하여 통합 처리 및 시스템 비교를 용이하게합니다.
API 타임 스탬프 요구 사항 : 일부 API는 특히 보안 서명 검증 중에 타임 스탬프가 GMT 시간이어야합니다.
일부 개발자는 날짜 () 및 gmdate ()를 혼동하기 쉽습니다. 둘의 주요 차이점은 시간대입니다.
<?php
echo "Local time: " . date("Y-m-d H:i:s") . "\n";
echo "GMT time: " . gmdate("Y-m-d H:i:s") . "\n";
?>
서버 시간대가 동부 8 학군 (중국 등)으로 설정된 경우 출력은 다음과 같습니다.
Local time: 2025-05-22 15:45:30
GMT time: 2025-05-22 07:45:30
gmdate () 가 밀리 초를 직접 지원하지는 않지만 Microtime () 분할을 통해 구현할 수 있습니다. 예를 들어:
<?php
$micro = microtime(true);
$seconds = floor($micro);
$milliseconds = round(($micro - $seconds) * 1000);
echo gmdate("Y-m-d H:i:s", $seconds) . ".$milliseconds GMT";
?>
출력은 비슷합니다.
2025-05-22 07:45:30.123 GMT
배포하는 PHP 프로그램이 GMT 시간을 균일하게 사용해야하는 경우 기본 시간대를 UTC로 설정할 수 있습니다.
<?php
date_default_timezone_set('UTC');
?>
그러나 현재 날짜 ()를 사용하면 GMT 시간이되므로 더 이상 gmdate ()를 사용할 필요가 없습니다.
gmdate () 와 time ()을 결합하면 PHP에서 현재 GMT 시간을 매우 편리하게 얻을 수 있습니다. 이 방법은 교차 시간 영역 처리, 통합 로깅 및 서버 측 개발에서 매우 실용적입니다. 이것은 의심 할 여지없이 시간 출력을 정확하게 제어 해야하는 PHP 개발자에게 마스터하는 가치가 있습니다.
보다 실용적인 코드 참조를 보려면 다음을 방문하십시오.
https://gitbox.net/snippets/php-gmtime