자바스크립트를 사용하여 특정 날짜가 오늘 기준으로 얼마나 지났는지... 여기서는 하루 지났는지 알아보는 방법입니다. 일단 하루가 지났는지 알아보기 위하여 다음과 같은 프로세스를 생각해봅니다.
  • 오늘 날짜 구하기
  • 오늘 날짜에서 특정 날짜를 빼기
  • 나온 값을 24시간 기준으로 변환하기
  • 위의 값이 24시간보다 더 큰 경우인지 아닌지 확인하여 처리하기

그럼 위와 같이 코드를 아래에 작성해보도록 하겠습니다.

function formatDate(curDate) {
    var today, resultDate;
    today = new Date();
    resultDate = new Date(curDate);
        
    // Time (minutes * seconds * millisecond)
    if ((today - resultDate)/(60*60*1000) <= 24) {
          // 하루 이전 글인 경우 여기에 코드 작성
    }
    else {
          // 하루 이후 글인 경우 여기에 코드 작성
    }
}
이제 원하는 날짜값으로 표기가 가능합니다. 그럼 예제를 통해 더 자세하게 알아볼까요?


# 하루 이전 글은 시간, 분으로 표시하는 예제보기

아래는 24시간 이전에는 시간으로... 1시간 이전 글은 분으로 나타내는 자바스크립트 함수입니다. 현재 webisfree.com에 올라오는 새로운 글은 이처럼 표기하고 있습니다. 그럼 아래 예제를 봐주세요!

function formatDate(curDate) {
var today, resultDate;
today = new Date();
resultDate = new Date(curDate);
timegap = (today - resultDate)/(60*60*1000);

var curYear = resultDate.getFullYear();
var curMonth = (resultDate.getMonth() + 1);
var curDay = resultDate.getDate();

// Time (minutes * seconds * millisecond)
if (timegap <= 24) {
if (Math.floor(timegap) == 0) {
resultDate = Math.floor(timegap * 24) + ' minute(s)';
}
else {
resultDate = Math.floor(timegap) + ' hour(s)';
}
}
else {
resultDate = curYear + '-' + curMonth + '-' + curDay;
}

return resultDate;
};

생각보다 간단한 코드입니다. 방문자 입장에서 날짜가 길게 표시되어 있으면 언제 쓰여진 글인지 바로 확인하기 어렵지만 위와 같이 변환할 경우 언제 쓰여졌는지 알아보기 매우 직관적일 것입니다.