PHP에서는 시간을 얻는 것이 개발에서 매우 일반적인 요구 사항입니다. gettimeofday () 및 date () 함수는 시간을 처리하는 데 사용되는 일반적인 기능이지만 목적과 반환 결과는 다릅니다. 이 기사는 gettimeofday () 와 date ()를 결합하여 시간 문자열을 사용자 정의 형식으로 얻는 방법을 설명합니다.
gettimeofday () 함수는 초 및 마이크로 초를 포함하여 현재 시간의 자세한 정보를 반환합니다. 반환 값은 연관 배열이며 공통 필드는 다음과 같습니다.
SEC : UNIX 시대 이후 몇 초 (1970-01-01 00:00:00 UTC)
USEC : 현재 두 번째의 마이크로 초 수
예:
<?php
$time = gettimeofday();
print_r($time);
?>
출력은 비슷합니다.
Array
(
[sec] => 1621766783
[usec] => 123456
[minuteswest] => 480
[dsttime] => 0
)
날짜 ()는 php의 포맷 시간에 대한 주요 함수입니다. 두 가지 매개 변수를받습니다.
형식 문자열 (예 : ymd h : i : s )
선택적 타임 스탬프 (초)
예:
<?php
echo date('Y-m-d H:i:s'); // 출력 현재 시간,예를 들어 2021-05-23 15:19:43
?>
날짜 ()는 초만 처리 할 수 있으며 마이크로 초를 표시 할 수 없습니다. gettimeofday ()를 통해 마이크로 초를 얻은 다음 date ()에 의해 형식화 된 초 수와 결합하여 마이크로 초의 시간 문자열을 얻을 수 있습니다.
샘플 코드 :
<?php
$time = gettimeofday();
$seconds = $time['sec'];
$microseconds = $time['usec'];
// 두 번째 부분을 형식화합니다
$formatted_time = date('Y-m-d H:i:s', $seconds);
// 마이크로 초 부품 스 플라이 싱,형식으로6조금,부적절한 보상0
$micro_str = str_pad($microseconds, 6, '0', STR_PAD_LEFT);
// 마지막 시간 문자열,다음과 같은 형식:2021-05-23 15:19:43.123456
echo $formatted_time . '.' . $micro_str;
?>
프로젝트에서 다중 사용을 용이하게하기 위해 위의 코드를 함수로 캡슐화 할 수 있습니다.
<?php
function getFormattedMicrotime($format = 'Y-m-d H:i:s') {
$time = gettimeofday();
$seconds = $time['sec'];
$microseconds = $time['usec'];
$formatted_time = date($format, $seconds);
$micro_str = str_pad($microseconds, 6, '0', STR_PAD_LEFT);
return $formatted_time . '.' . $micro_str;
}
// 사용의 예
echo getFormattedMicrotime(); // 기본 형식
echo "\n";
echo getFormattedMicrotime('Y/m/d H:i:s'); // 맞춤형 형식
?>
이 예를 통해 PHP의 gettimeofday () 및 date ()를 쉽게 결합하여 사용자 정의 형식 시간 출력을 마이크로 초과 달성 할 수 있습니다. 이는보다 세련된 시간의 요구, 특히 로깅, 성능 모니터링 및 기타 시나리오에 적합한 시간을 충족시킬 수 있습니다.
PHP 시간 기능의 사용에 대한 자세한 내용은 gitbox.net/php-date-function을 참조하십시오.