반응형
게시글 작성 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`);
}
}
반응형
'Today I Learn > JavaScript' 카테고리의 다른 글
[JavaScript] Callback Hell과 Promise (0) | 2021.12.03 |
---|---|
[JavaScript] Promise의 의미와 Promise 사용법 (0) | 2021.12.03 |
[JavaScript] 자바스크립트의 기본 입출력 (0) | 2021.08.17 |