통합검색

PHP

[PHP] 날짜를 SNS처럼 텍스트로 표현하기 ( ~일 전 / ~시간 전 / 방금 )



날짜를 SNS처럼 ~일 전 / ~시간 전 등 문자로 표현하는 방법이다.
아래 예제 코드를 참고하여 적용하면 된다.
 
<?php
function print_time($datetime) {
    $lag = time() - strtotime($datetime);
    
    if($lag < 60) {
        $posting_time = "방금";
    } elseif($lag >= 60 and $lag < 3600) {
        $posting_time = floor($lag/60)."분 전";
    } elseif($lag >= 3600 and $lag < 86400) {
        $posting_time = floor($lag/3600)."시간 전";
    } elseif($lag >= 86400 and $lag < 2419200) {
        $posting_time = floor($lag/86400)."일 전";
    } else {
        $posting_time = date("y-m-d", strtotime($datetime));
    } 
    return $posting_time;
}
?>


1. 글을 쓴 지 60초 미만일 경우 - "방금" 이라고 표기
2. 글을 쓴 지 60초(1분) 이상 3600초(1시간) 미만일 경우 - "X분 전" 이라고 표기
3. 글을 쓴 지 3600초(1시간) 이상 86400초(1일) 미만일 경우 - "X시간 전" 이라고 표기
4. 글을 쓴 지 86400초(1일) 이상 2419200초(28일) 미만일 경우 - "X일 전" 이라고 표기
5. 글을 쓴지 28일 이상일 경우 - "년-월-일" 이 표기