게시판 스킨으로 스케치북을 사용하고 있는데, 다른건 어찌저찌 검색 신공을 통해서 커스터마이징 해봤으나

오늘 날짜랑 일치할 경우 시간만 표시하는게 잘 안되서 질문 드립니다!

 

  <td class="time" cond="$val->type=='regdate' && $val->idx==-1" title="{getTimeGap($document->get('regdate'), "H:i")}">{$document->getRegdate('Y.m.d')}</td>

 

위 코드가 등록일자를 표시하는 코드인데

cond에 조건문을 어떻게 설정해야할지 모르겠습니다 도와주세요!

 

제가 하고자 하는 것은 게시판에 글이 등록시에 해당 글이 서버시간으로 오늘 날짜와 일치할 경우 등록된 시간 hh:mm 형식으로 표시되는 것이고, 이미 해당 글이 어제 등록되어 오늘 날짜와 일치하지 않을 경우 yyyy.MM.dd 의 형식으로 나타나는 것입니다

  • ? Lv2
    ㅈㅓ도 이거 궁금해요
  • Lv36

    {$document->getRegdate($document->getRegdate('Ymd') === date('Ymd') ? 'H:i' : 'Y.m.d')}

    해석
    1) A ? B : C 문법은 A가 참인 경우 B를 쓰고, A가 거짓이면 C를 쓰라는 뜻
    2) 빨간색 글자로 표시한 조건문은 글 작성일의 날짜 부분만 분리해서 현재 날짜와 비교
    3) 현재 날짜와 일치하면 H:i를 쓰고, 그렇지 않으면 Y.m.d를 쓰게 됨

     

    코어의 getTimeGap 함수는 오늘 기준이 아니라 지난 24시간 기준이기 때문에 좀 다릅니다. 대부분의 커뮤니티는 밤에 활동이 많은데, 12시 땡 하자마자 방금 작성한 글의 시간이 죄다 어제 날짜로 보이는 것이 어색해서 그렇게 구현했나 봅니다. 아무튼 빨간색 부분을 커스터마이징하면 H:i로 표현하는 조건을 원하시는 대로 바꿀 수 있겠지요.

  • Lv36 Lv2
    헛 떠먹여 주셔서 감사합니다 한방에 됐습니다
  • Lv12

    꿀팁 질문이네요!

    라고 댓글달고는 반영하려고 제사이트를 가보니 이미 과거에 반영해두었었네요 기억력이점점ㅜㅜ