Today I Learn/JavaScript

[JavaScript] 조건에 따라 날짜 형식 다르게 주기

단추언니 2022. 6. 28. 12:45
반응형

게시글 작성 24시간마다 날짜 형식 다르게 주기

 

게시판을 만들던 중 작성일을 넣어주어야 하는데 오늘 올린 게시글은 HH:mm 형식으로, 하루가 지난 게시글은 YYYY-MM-DD 형식으로 만들어져야 했다. 

그런데 받은 코드를 살펴보니 24시간 기준으로 하루가 지난 게시글로 판단되어 전날 17:34에 올린 게시글이 오늘 오전에 봤을 때, 오늘 올린 게시글처럼 보이는 현상이 있었다

 

 

수정 전 코드

    get createdAtFmt() {
      const timeValue = new Date(this.createdTs);

      const betweenTime = Math.floor(
        (new Date().getTime() - timeValue.getTime()) / 1000 / 60
      );
      const betweenTimeHour = Math.floor(betweenTime / 60);
      if (betweenTimeHour < 24) {
        return DateUtil.format(timeValue, `HH:mm`);
      }

      return DateUtil.format(timeValue, `YYYY-MM-DD`);
    }

 

 

 

게시글 작성 하루마다 날짜 형식 다르게 주기

 

 

현재 날짜(2022-06-28) 기준 어제 등록된 게시글의 형식이 YYYY-MM-DD로 바뀌었다

 

 

 

수정 후 코드

  get createdAtFmt() {
    const today = new Date(); // 오늘날짜
    const resultDate = new Date(this.createdTs); // 게시글 등록날짜
    const resultDateDay = resultDate.getDate();
    const todayDate = today.getDate();

    if (resultDateDay === todayDate) {
      return DateUtil.format(resultDate, `HH:mm`);
    } else {
      return DateUtil.format(resultDate, `YYYY-MM-DD`);
    }
  }

 

반응형