> 백엔드 개발 > PHP 튜토리얼 > PHP에서 주어진 날짜-시간 스탬프 이후 경과된 시간을 어떻게 효율적으로 표시할 수 있습니까?

PHP에서 주어진 날짜-시간 스탬프 이후 경과된 시간을 어떻게 효율적으로 표시할 수 있습니까?

Linda Hamilton
풀어 주다: 2024-12-16 06:09:19
원래의
481명이 탐색했습니다.

How Can I Efficiently Display Time Elapsed Since a Given Date-Time Stamp in PHP?

PHP의 날짜-시간 스탬프에서 경과 시간 확인

날짜-시간 데이터를 처리할 때 경과 시간을 계산하는 것이 필수적인 경우가 많습니다. 과거의 특정 시점 이후의 시간입니다. 이 실용적인 질문은 "2010-04-28 17:25:43"과 같은 날짜-시간 스탬프를 "xx분 전" 또는 "xx일 전"과 같은 사용자 친화적인 형식으로 변환하는 효율적인 방법을 찾는 것입니다.

이 문제를 효과적으로 해결하려면 다음 솔루션을 고려하십시오.

$time = strtotime('2010-04-28 17:25:43');

echo 'Event occurred ' . humanTiming($time) . ' ago';

function humanTiming($time) {
    $time = time() - $time;
    $time = ($time < 1) ? 1 : $time;
    $units = [
        31536000 => 'year',
        2592000 => 'month',
        604800 => 'week',
        86400 => 'day',
        3600 => 'hour',
        60 => 'minute',
        1 => 'second',
    ];

    foreach ($units as $unit => $text) {
        if ($time < $unit) {
            continue;
        }

        $numUnits = floor($time / $unit);

        return "$numUnits $text" . (($numUnits > 1) ? 's' : '');
    }
}
로그인 후 복사

이 솔루션은 PHP의 strtotime() 함수를 활용합니다. 입력 날짜-시간 문자열을 타임스탬프로 변환합니다. 그런 다음 입력 타임스탬프에서 현재 타임스탬프를 빼서 경과 시간을 얻습니다. 경과 시간을 사용자에게 친숙한 형식으로 변환하기 위해 미리 정의된 단위-텍스트 매핑($units) 배열을 사용하고 이를 반복하여 적절한 단위(예: "일", "시간" 등)를 결정합니다. ).

이 접근 방식을 구현하면 PHP에서 지정된 날짜-시간 스탬프 이후 경과된 시간을 효과적으로 확인하고 표시할 수 있어 애플리케이션에 명확성과 편의성을 제공할 수 있습니다.

위 내용은 PHP에서 주어진 날짜-시간 스탬프 이후 경과된 시간을 어떻게 효율적으로 표시할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿