programing

UTC 시간 가져오기(PHP)

goodcopy 2023. 1. 20. 17:33
반응형

UTC 시간 가져오기(PHP)

PHP의 date() 함수를 사용하여 UTC/GMT +/- 타임스탬프를 얻는 방법은 무엇입니까?예를 들어, 내가 노력한다면

date("Y-m-d H:i:s", time()); 

Unix 의 타임스탬프를 취득합니다만, 로컬의 타이밍에 근거해, 문자열 GMT/UTC+-0400 또는 GMT/UTC+/-1000 을 포함한 UTC/GMT 의 타임스탬프를 취득할 필요가 있습니다.

를 사용하면 항상 GMT 날짜가 반환됩니다.구문은 다음과 같습니다.date.

단순한 gmdate()로 충분합니다.

<?php
print gmdate("Y-m-d\TH:i:s\Z");

앞에서 설명한 바와 같이 PHP 5.2.0을 사용하여DateTimeclass 및 UTC 타임존을 지정합니다.DateTimeZone.

DateTime __construct() 문서에서는 DateTime 인스턴스를 만들고 현재 시간을 얻기 위한 시간대를 지정할 때 첫 번째 매개 변수로 "now"를 전달할 것을 권장합니다.

$date_utc = new \DateTime("now", new \DateTimeZone("UTC"));

echo $date_utc->format(\DateTime::RFC850); # Saturday, 18-Apr-15 03:23:46 UTC
$time = time();
$check = $time+date("Z",$time);
echo strftime("%B %d, %Y @ %H:%M:%S UTC", $check);

UTC 날짜 가져오기

gmdate("Y-m-d H:i:s");

UTC 타임스탬프 취득 중

time();

결과가 달라지지는 않을 것이다date_default_timezone_set당신의 코드에 따라.

date("Y-m-d H:i:s", time() - date("Z"))

전화 이외의gmdate다음 코드를 나머지 코드 앞에 넣을 수도 있습니다.

<?php
date_default_timezone_set("UTC");
?>

그러면 나머지 날짜/시간 관련 콜이 GMT/UTC 시간대를 사용하게 됩니다.

인수 없이 gmmktime 함수를 사용하여 현재 UTC 타임스탬프를 얻을 수 있습니다.

$time = gmmktime();
echo date("Y-m-d H:i:s", $time); 

gmmktime은 서버 시간이 UTC를 사용하는 경우에만 작동합니다.예를 들어 서버가 US/Pacific으로 설정되어 있습니다.위에 열거된 함수는 태평양 시간으로 거슬러 올라간다.

로컬 타이밍에 따라 문자열 GMT/UTC +/-0400 또는 GMT/UTC +/-1000을 사용합니다.

사용자 지정 형식이 없습니다.O로컬 시간에서 시간대 오프셋을 제공합니다.

그리니치 시간(GMT)과의 차이 예: +0200

date_default_timezone_set('America/La_Paz');
echo date('Y-m-d H:i:s O');

2018-01-12 12:10:11 -0400

단, 휴대성/호환성을 최대화하기 위해 ISO8601 날짜 형식을 사용하는 것이 좋습니다.c

date_default_timezone_set('America/La_Paz');
echo date('c');

2018-01-12T 12:10-11-04:00

date_default_timezone_set('Australia/Brisbane');
echo date('c');

2018-01-13T02:10:11+10:00

또한 를 사용할 수 있으며 타임존 오프셋 문자열은 항상+00:00

date_default_timezone_set('America/La_Paz');
echo gmdate('c');

2018-01-12T 16:10:11+00:00

date_default_timezone_set('Australia/Brisbane');
echo gmdate('c');

2018-01-12T 16:10:11+00:00

다음을 사용하여 UTC 시간을 얻을 수 있습니다.

date_default_timezone_set('Asia/Calcutta');

$current_date = date("Y/m/d g:i A");

$ist_date = DateTime::createFromFormat(
                        '"Y/m/d g:i A"',
                        $current_date,
                        new DateTimeZone('Asia/Calcutta')
                    );

$utc_date = clone $ist_date;
$utc_date->setTimeZone(new DateTimeZone('UTC'));

echo 'UTC:  ' . $utc_date->format('Y-m-d g:i A');
/**
     * Converts a local Unix timestamp to GMT
     *
     * @param   int Unix timestamp
     * @return  int
     */
    function local_to_gmt($time = '')
    {
        if ($time === '')
        {
            $time = time();
        }

        return mktime(
            gmdate('G', $time),
            gmdate('i', $time),
            gmdate('s', $time),
            gmdate('n', $time),
            gmdate('j', $time),
            gmdate('Y', $time)
        );
    }

GMT 날짜를 가져오기 위해 gmdate 방법을 사용하려고 합니다.

gmdate("Y-m-d H:i:s");

gmdate date-module은 date() 메서드와 유사합니다.

$code->created_at->setTimezone('UTC')

여기서 $code-> created_at = 아시아/다카 시간.

아래에서 현재 UTC(Universal Time) 시간을 취득하기 위한 PHP 코드를 찾습니다.

<?php
// Prints the day
echo gmdate("l") . "<br>";

// Prints the day, date, month, year, time, AM or PM
echo gmdate("l jS \of F Y h:i:s A");
?>

언급URL : https://stackoverflow.com/questions/8655515/get-utc-time-in-php

반응형