>백엔드 개발 >PHP 튜토리얼 >PHP에서 DateTime 스탬프 이후 경과된 시간을 어떻게 계산하고 표시할 수 있습니까?

PHP에서 DateTime 스탬프 이후 경과된 시간을 어떻게 계산하고 표시할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-19 07:47:10408검색

How Can I Calculate and Display the Time Elapsed Since a DateTime Stamp in PHP?

PHP에서 DateTime 스탬프 이후 경과된 시간 확인

PHP에서는 특정 날짜 및 타임 스탬프 이후 경과된 시간을 얻는 것이 중요합니다. 이 정보는 "xx분 전" 또는 "xx일 전"과 같은 사용자 친화적인 형식으로 경과 시간을 표시하는 데 유용할 수 있습니다.

해결책:

제공된 코드는 날짜 및 타임스탬프를 상대 시간으로 변환하는 효과적인 접근 방식을 보여줍니다. 형식:

<?php
$timestamp = strtotime('2010-04-28 17:25:43');

function humanTiming($timestamp) {
    $difference = time() - $timestamp;
    $tokens = array(
        31536000 => 'year',
        2592000 => 'month',
        604800 => 'week',
        86400 => 'day',
        3600 => 'hour',
        60 => 'minute',
        1 => 'second'
    );

    foreach ($tokens as $unit => $text) {
        if ($difference < $unit) continue;
        $units = floor($difference / $unit);
        return $units . ' ' . $text . (($units > 1) ? 's' : '');
    }
}

echo 'Event occurred ' . humanTiming($timestamp) . ' ago';
?>

설명:

  • strtotime() 함수는 제공된 날짜 및 시간 스탬프를 변환합니다('2010-04-28 17:25 :43')을 UNIX 타임스탬프로 변환합니다.
  • humanTiming() 함수 현재 시간과 타임스탬프 간의 차이를 계산합니다.
  • 그런 다음 이 함수는 시간 단위 배열(연도, 월, 주 등)과 해당 텍스트 표현을 반복합니다.
  • 시간 차이가 현재 단위보다 크거나 같은지 확인하고 적절한 텍스트 표현을 반환합니다.
  • 마지막으로 반환된 문자열이 출력에 추가되어 타임스탬프 이후 경과된 상대 시간입니다.

위 내용은 PHP에서 DateTime 스탬프 이후 경과된 시간을 어떻게 계산하고 표시할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.