Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP gettimeofday() 함수 완벽 가이드: 현재 시간 정보 가져오기

PHP의 gettimeofday() 함수는 운영체제에서 현재 시간 정보를 가져와 배열 또는 실수(float) 형태로 반환하는 함수입니다. 정밀한 시간 측정이나 타임스탬프 생성이 필요할 때 유용하게 사용됩니다.

문법(Syntax)

gettimeofday(return_float)

매개변수(Parameters)

  • return_floatTRUE로 설정하면 연관 배열 대신 실수형(float) 값이 반환됩니다. 생략하거나 FALSE일 경우 배열이 반환됩니다.

반환값(Return Value)

gettimeofday() 함수는 기본적으로 다음 키를 가진 연관 배열(associative array)을 반환합니다.

  • [sec] − Unix Epoch(1970년 1월 1일 00:00:00 UTC) 이후 경과한 초 단위 시간

  • [usec] − 마이크로초(microseconds) 단위 값

  • [minuteswest] − 그리니치 표준시(GMT)보다 서쪽으로 떨어진 시간(분 단위)

  • [dsttime] − 일광 절약 시간(DST) 보정 방식의 유형

예제 1: 배열 형태로 출력하기

매개변수 없이 호출하면 연관 배열이 반환됩니다.

<?php
    print_r(gettimeofday());
?>

출력 결과

Array (
    [sec] => 1539234547
    [usec] => 322766
    [minuteswest] => 0
    [dsttime] => 0
)

예제 2: 실수형(float)으로 출력하기

두 번째 예제는 true를 인자로 전달하여 실수형 값을 반환받는 경우입니다.

<?php
    echo gettimeofday(true);
?>

출력 결과

1539172203.5542

예제 3: sec과 usec 조합하기

배열의 각 키에 접근해 초와 마이크로초를 조합하여 출력할 수도 있습니다.

<?php
    $res = gettimeofday(); echo "$res[sec].$res[usec]";
?>

출력 결과

1539172298.346375

참고 사항

PHP 7.1.0부터 gettimeofday(true)처럼 실수형으로 받는 방식 외에도, microtime() 함수와 함께 활용하면 더욱 정밀한 실행 시간 측정이 가능합니다. 또한 단순히 Unix 타임스탬프만 필요하다면 time() 함수를 사용하는 것이 더 효율적입니다.