PHP의 타임스탬프에서 상대 날짜/시간 생성
소개
상대 날짜 결정 타임스탬프를 기반으로 하는 /time은 프로그래밍에서 일반적인 작업입니다. 이 기능은 다양한 시간 간격과 변환 방향(과거 또는 미래)을 고려할 때 더욱 복잡해집니다.
답변
아래 기능은 변환에 대한 포괄적인 접근 방식을 제공합니다. Unix 타임스탬프(time() 함수를 사용하여 얻음)를 과거와 미래를 모두 고려하는 상대 날짜/시간 형식으로 변환합니다. 다음과 같은 출력이 생성됩니다.
이 함수는 일련의 조건문을 사용하여 적절한 시간 표현을 결정합니다. 현재 시간과 현재 시간의 차이를 기준으로 타임스탬프:
<br>function time2str($ts)<br>{</p> <pre class="brush:php;toolbar:false">// Handle syntax variations if(!ctype_digit($ts)) $ts = strtotime($ts); // Calculate the difference between now and the timestamp $diff = time() - $ts; // Check for exact matches to simplify handling if($diff == 0) return 'now'; // Handle past timestamps if($diff > 0) { // Calculate day difference $day_diff = floor($diff / 86400); // Format past time intervals switch(true) { case ($day_diff == 0): return constructPastInterval($diff); // Hours, minutes, seconds case ($day_diff == 1): return 'Yesterday'; case ($day_diff < 7): return $day_diff . ' days ago'; case ($day_diff < 31): return ceil($day_diff / 7) . ' weeks ago'; case ($day_diff < 60): return 'last month'; default: return date('F Y', $ts); } } // Handle future timestamps else { // Calculate absolute difference $diff = abs($diff); // Calculate day difference and format future time intervals based on logic similar to the past case. }
}
constructorPastInterval() 함수는 이 응답에 표시되지 않지만 과거 간격(시간, 분, 초).
이 함수는 타임스탬프에서 상대 날짜/시간 표현을 생성하기 위한 강력하고 다양한 솔루션을 제공하므로 여러 스크립트나 복잡한 사용자 정의 코딩이 필요하지 않습니다.
위 내용은 PHP의 Unix 타임스탬프에서 상대 날짜/시간 문자열을 어떻게 생성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!