이 기능은 일반적으로 웨이보나 블로그의 기사 게시 시간을 표시하는 데 사용됩니다. 예: Sina Weibo에 Weibo 게시물이 게시된 경우, 오늘 게시된 경우에는 특정 시간 대신 XX초 및 XX시간 전이 표시됩니다. 이전에 게시된 Weibo를 다시 게시하면 원본 Weibo에 게시된 시간이 표시됩니다.
그렇다면 그것을 달성하는 방법은 무엇입니까? 코드는 다음과 같습니다.
<code><span>/**格式化时间函数 *<span> @param</span> $time 需要格式化的时间戳 */</span><span><span>function</span><span>time_format</span><span>(<span>$time</span>)</span> {</span><span>$now</span> = time(); <span>$tody</span> = strtotime(date(<span>'Y-m-d'</span>)); <span>$diff</span> = <span>$now</span> - <span>$time</span>; <span>$str</span> = <span>''</span>; <span>switch</span> (<span>$time</span>) { <span>case</span><span>$diff</span> < <span>60</span>: <span>$str</span> = <span>$diff</span> . <span>'秒前'</span>; <span>break</span>; <span>case</span><span>$diff</span> < <span>3600</span>: <span>$str</span> = floor(<span>$diff</span> / <span>60</span>) . <span>'分钟前'</span>; <span>break</span>; <span>case</span><span>$diff</span> < (<span>3600</span> * <span>8</span>): <span>$str</span> = floor(<span>$diff</span> / <span>3600</span>) . <span>'小时前'</span>; <span>break</span>; <span>case</span><span>$time</span> > <span>$tody</span>: <span>$str</span> = <span>'今天'</span> . date(<span>'Y-m-d H:i:s'</span>, <span>$time</span>); <span>break</span>; <span>default</span>: <span>$str</span> = date(<span>'Y-m-d H:i:s'</span>, <span>$time</span>); } <span>return</span><span>$str</span>; } <span>$time</span> = <span>1423110837</span>;<span>//模拟保存在数据库中的时间戳</span><span>echo</span> time_format(<span>$time</span>);</code>
해석:
1. 먼저 현재 시간을 가져와야 합니다.
tody = strtotime(날짜 ('Y-m-d'))
3. 데이터베이스의 타임스탬프와 현재 시간의 차이를 가져옵니다. 즉,
위 내용을 포함하여 데이터베이스에 저장된 타임스탬프를 과거 시간 형식으로 변환하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.