PHP에서 UTC 시간 얻기
-
gmdate()
를 사용하여 UTC 시간 가져오기 -
strtotime()
을 사용하여 UTC 시간 가져오기 -
date()
를 사용하여 UTC 시간 가져오기 -
date_default_timezone_set()
을 사용하여 UTC 시간 가져오기 -
DateTime
개체를 사용하여 UTC 시간 가져오기
이 기사에서는 다섯 가지 방법을 사용하여 PHP에서 UTC를 얻는 방법을 설명합니다. 이러한 메서드는 date_default_timezone_set()
, gmdate()
, strtotime()
, date()
및 DateTime
개체를 사용합니다.
gmdate()
를 사용하여 UTC 시간 가져오기
gmdate()
함수는 날짜와 시간을 UTC 형식으로 지정합니다. 예를 들어 날짜 시간 형식으로 gmdate()
를 제공하면 Y-m-d H:i:s
, UTC로 표시됩니다.
다음 코드에서 현재 시간대를 미시간 주 디트로이트로 설정했습니다. 그러면 디트로이트의 시간과 UTC의 시간이 표시됩니다.
예제 코드:
<?php
// Use the time in Detroit, Michigan, as the default
// time.
date_default_timezone_set("America/Detroit");
// We get the current time in Detroit, Michigan.
$time_in_Detroit = date('Y-m-d H:i:s', time());
// We get the UTC time using the gmdate() function
$utc_time = gmdate("Y-m-d H:i:s");
// For comparison, we show the time in Detroit and
// what it'll be in UTC.
echo "The current time in Detroit is: " . $time_in_Detroit . PHP_EOL;
echo "The UTC is: " . $utc_time;
?>
출력(다른 결과가 나타남):
The current time in Detroit is: 2022-07-27 17:32:36
The UTC is: 2022-07-27 21:32:36
strtotime()
을 사용하여 UTC 시간 가져오기
strtotime()
메서드는 텍스트 날짜 시간을 Unix 타임스탬프로 구문 분석합니다. 그 후에는 타임스탬프를 사용하여 원하는 작업을 수행할 수 있습니다.
다음 코드에서는 gmdate()
를 사용하여 strtotime()
에서 타임스탬프를 얻습니다. 그런 다음 date()
함수의 두 번째 매개변수로 타임스탬프를 전달합니다.
이렇게 하면 날짜 형식을 작성하고 UTC로 결과를 얻을 수 있습니다. 비교를 위해 스크립트의 시간대를 과테말라로 설정했습니다.
예제 코드:
<?php
// Use the time in Guatemala as the default
// time.
date_default_timezone_set("America/Guatemala");
// We get the current time in Guatemala
$time_in_Guatemala = date('Y-m-d H:i:s', time());
// We get the UTC UNIX timestamp
$utc_timestamp = strtotime(gmdate("M d Y H:i:s"));
// We convert the UNIX timestamp to UTC
$utc_time = date('Y-m-d H:i:s', $utc_timestamp);
// For comparison, we show the time in Guatemala
// and what it'll be in UTC.
echo "The time in Guatemala is: " . $time_in_Guatemala . PHP_EOL;
echo "The UTC is: " . $utc_time;
?>
출력(다른 결과가 나타남):
The time in Guatemala is: 2022-07-27 15:48:01
The UTC is: 2022-07-27 21:48:01
date()
를 사용하여 UTC 시간 가져오기
date()
함수를 사용하여 날짜 형식을 지정하지만 일부 수학을 사용하면 date()
가 UTC를 반환합니다. 수학은 epoch 시간에서 시간대 오프셋을 뺀 다음 결과를 date()
함수의 두 번째 매개변수로 전달하는 것과 관련됩니다.
비교를 위해 표준 시간대를 호주 애들레이드로 변경했습니다. 아래 코드를 실행하면 UTC와 애들레이드에서의 UTC가 표시됩니다.
예제 코드:
<?php
// Use the time in Adelaide, Australia, as the default
// time.
date_default_timezone_set("Australia/Adelaide");
// We get the current time in Adelaide
$time_in_Adelaide = date('Y-m-d H:i:s', time());
// We get the UTC time using the date() function.
$utc_time = date("Y-m-d H:i:s", time() - date("Z"));
// For comparison, we show the time in Adelaide
// and what it'll be in UTC.
echo "The time in Adelaide is: " . $time_in_Adelaide . PHP_EOL;
echo "The UTC is: " . $utc_time;
?>
출력(다른 결과가 나타남):
The time in Adelaide is: 2022-07-28 07:56:31
The UTC is: 2022-07-27 22:26:31
date_default_timezone_set()
을 사용하여 UTC 시간 가져오기
date_default_timezone_set()
함수는 시간대를 변경하는 데 사용됩니다. 매개변수를 UTC
로 변경하여 UTC를 반환하는 데 사용할 수도 있습니다.
결과적으로 PHP 스크립트의 시간에 관계없이 항상 UTC로 표시됩니다.
<?php
// Set the default time zone to UTC and all
// date and time of the current PHP script will
// be in UTC.
date_default_timezone_set("UTC");
// As usual, get the date, but this time, it'll
// return the time in UTC. That's because this script
// has its time zone set to UTC.
$utc_time = date('Y-m-d H:i:s', time());
echo "The UTC is: " . $utc_time;
?>
출력(다른 결과가 나타남):
The UTC is: 2022-07-27 22:36:02
DateTime
개체를 사용하여 UTC 시간 가져오기
DateTime
개체와 DateTimeZone
개체의 조합은 UTC를 반환할 수 있습니다. UTC를 반환하려면 DateTime
의 첫 번째 및 두 번째 매개 변수를 now
및 new \DateTimeZone("UTC")
로 설정한 다음 결과를 RFC 850 형식으로 표시할 수 있습니다.
예제 코드:
<?php
// Get the UTC using the DateTime object.
// Its first parameter should be the
// string "now". And its second parameter should
// be a new DateTimeZone object and its parameter
// should be the string "UTC".
$utc_time = new \DateTime("now", new \DateTimeZone("UTC"));
// Format the date to show it's a UTC date
// A sample output is: Wednesday, 27-Jul-22 15:02:41 UTC
echo $utc_time->format(\DateTime::RFC850);
?>
출력(다른 결과가 나타남):
Wednesday, 27-Jul-22 23:00:42 UTC
Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.
LinkedIn