【PHP】timestamp 형식의 날짜 시간을 포맷하여 표시하고 싶습니다.

하고 싶은 일



현재 작성중인 앱에서 기사 게시일의 표시 형식을 변경하고 싶습니다.


게시물 목록 화면의 소스 발췌



    <!-- 投稿一覧画面 -->
    <div class="container">
        <div class="contents">
        <?php foreach($posts_arr as $key => $value) :?>

            <div class="card" style="margin-top: 16px;">
                <div class="card-header" style="padding: 0; font-family: serif;">
                    <div class="text-center" style="margin-top: 0.6rem;  line-height: 0rem;">
                        <a><i class="fas fa-fish"></i> <?php echo $posts_arr[$key]['fish_kind']; ?></a>
                    </div>
                    <div class="text-right" style="margin-right: 0.6rem;">
                        <a style="font-size: 0.6rem;">投稿者 <span style="font-size: 0.8rem; font-weight: bold;"><?php echo $posts_arr[$key]['nickname']; ?></span>さん</span></a>
                    </div>
                </div>
                <div class="card-main" style="object-fit: contain; margin-bottom: 16px;">
                    <img src="./img/<?php echo $posts_arr[$key]['file_name']; ?>" class="card-img">
                </div>
                <div class="card-body">
                    <p class="card-text" style="margin-bottom: 0.4rem;"><?php echo mb_strimwidth($posts_arr[$key]['angler_comment'], 0, 200, '…', 'UTF-8'); ?></p>
                    <div class="text-right">
                        <a style="font-size: small;">投稿日: <?php echo $posts_arr[$key]['created_at']; ?></a>
                    </div>
                    <div class="text-right">
                        <a href="./posts/show.php?p_id=<?php echo $posts_arr[$key]['id']; ?>" class="card-link" style="font-size: small;">詳細を見る</a>
                    </div>
                </div>
            </div>

        <?php endforeach; ?>
        </div>
    </div>

개수 내용



투고일: 2020-11-05 21:42:08
표시의 초수 부분을 없애고
투고일: 2020-11-05 21:42
하고 싶다.

리노베이션 방법


 // 日付表示部分
 <div class="text-right">
     <?php $date = new DateTime($posts_arr[$key]['created_at']);?>
     <a style="font-size: small;">投稿日: <?php echo $date->format('Y-m-d H:i'); ?></a>
 </div>

함수 하나 통과하면 할 수 있을까라고 생각하면서 조사하고 있는 안에 date_format()를 발견

그러나 date_format ()은 원래 객체가있는 함수 이었기 때문에
포맷하기 전에 오브젝트를 생성하고 나서 실행할 필요가 있다고 알았다.
결론, echo 전에 timestamp 형식의 데이터를 객체 생성하고 나서 포맷하는 흐름으로 할 수 있었다.
<?php echo date_format($date, 'Y-m-d H:i'); ?>

물론 echo의 부분은 이것으로도 갈 수 있지만 가능한 한 객체 지향의 기술로 쓰고 싶기 때문에
전자를 채용했습니다.



아니 ↑ 했어.

참고



PHP 공식 참조

좋은 웹페이지 즐겨찾기