날짜 표시 관련해서 질문 드려요.
본문
function passing_time($datetime) {
$time_lag = time() - strtotime($datetime);
if($time_lag < 60) {
$posting_time = "방금";
} elseif($time_lag >= 60 and $time_lag < 3600) {
$posting_time = floor($time_lag/60)."분 전";
} elseif($time_lag >= 3600 and $time_lag < 86400) {
$posting_time = floor($time_lag/3600)."시간 전";
} elseif($time_lag >= 86400 and $time_lag < 2419200) {
$posting_time = floor($time_lag/86400)."일 전";
} else {
$posting_time = date("y-m-d", strtotime($datetime));
}
return $posting_time;
}
이렇게 해서 '27일전' 까지 표시되는건 알겠습니다.
근데 1개월 전, 3개월 전, 4년 전...
이렇게 몇개월,몇년전으로 표시할려면 어떻게 해야 하나요?
2419200을 계산해서 할려고 하니 31일도 있고 30일도 있으니 답이 없네요.
금일 날짜로 부터 어떻게 계산을 하는 공식이 있을 듯 한데 검색해도 모르겠습니다.
혹시 리스트 게시물 날짜를 몇달전 몇년전으로 표시하는 방법 아시면 부탁 좀 드려요 ㅠㅜ
답변 1
PHP를 이용해서 두날짜의 차이를 구하는건 상당히 복잡해집니다.
그러나 방법은 있습니다.
https://code.i-harness.com/ko-kr/q/a53d8
를 참고해보시고
더 간단한 해결책은 MySql을 이용하는겁니다.
datediff 의 좋은예