github.com/taemin-kwon93 Github 보러가기 ->

Data Structures and Algorithms/Problems

문제 : 하루가 지난 글의 표기.

태민Kwon 2022. 4. 27. 17:17

 글이 등록된 시간을 기준으로 하루가 지났을 때,

해당 글의 등록시간을 날짜로 보여주려 한다.

하루가 지나지 않았을 시 시간으로 표기한다.

 

 예시:

하루가 지난 글 : 2022/04/25

하루가 지나지 않은 글 : 19:59:49

 

만약 4월 25일 자정에 가까운 시간 글을 등록하고 26일이 됐을 경우,

해당 글은 2022/04/25와 같이 표기 되어야 한다.

하지만, 아래 로직으로는 시간 그대로 표기되고 다음날 자정이 되기 전까지 시간 그대로 표기된다.


function displayTime(timeValue) {

var today = new Date();

var gap = today.getTime() - timeValue;

var dateObj = new Date(timeValue);
var str = "";

if (gap < (1000 * 60 * 60 * 24)) {
/*  
 의도한바에 비추어 잘못된 계산임. 
글의 최초등록시간을 기준으로 24시간이 지났을 때
시간표시가 아닌 날짜 표시로 전환함.
즉, 4월 26일 오후 7시에 등록된 글이 
4월 27일 오후 4시에 '19:59:49' 이런식으로 보이게 됨.
*/
var hh = dateObj.getHours();
var mi = dateObj.getMinutes();
var ss = dateObj.getSeconds();

return [ (hh > 9 ? '' : '0') + hh, ':', (mi > 9 ? '' : '0') + mi,
':', (ss > 9 ? '' : '0') + ss ].join('');

} else {
var yy = dateObj.getFullYear();
var mm = dateObj.getMonth() + 1; // getMonth() is zero-based
var dd = dateObj.getDate();

return [ yy, '/', (mm > 9 ? '' : '0') + mm, '/',
(dd > 9 ? '' : '0') + dd ].join('');
}//2022/4/25 -> 22/04/25 이런식으로 형식을 맞춰서 표시해줌.
};