본문 바로가기

IT 관련/javascript & jquery

javascript로 현재 시간 yyyymmddhhmmss 포멧으로 가져오기

안녕하세요

초이스40입니다.

 

오늘은 javascript로 현재 시간을 yyyymmddhhmmss 형식으로 가져오는 방법을 포스팅하겠습니다.

 

1. yyyymmddhhmmss 형식으로 날짜 가져오기

function getCurrentDate(){
    var date = new Date(); // Data 객체 생성
    var year = date.getFullYear().toString(); // 년도 구하기

    var month = date.getMonth() + 1; // 월 구하기
    month = month < 10 ? '0' + month.toString() : month.toString(); // 10월 미만 0 추가

    var day = date.getDate(); // 날짜 구하기
    day = day < 10 ? '0' + day.toString() : day.toString(); // 10일 미만 0 추가

    var hour = date.getHours(); // 시간 구하기
    hour = hour < 10 ? '0' + hour.toString() : hour.toString(); // 10시 미만 0 추가

    var minites = date.getMinutes(); // 분 구하기
    minites = minites < 10 ? '0' + minites.toString() : minites.toString(); // 10분 미만 0 추가

    var seconds = date.getSeconds(); // 초 구하기
    seconds = seconds < 10 ? '0' + seconds.toString() : seconds.toString(); // 10초 미만 0 추가

    return year + month + day + hour + minites + seconds; // yyyymmddhhmmss 형식으로 리턴
}

 

2. 간락하게 표현하기

// 10보다 작은 값에 0을 붙임

function addZero(n) {
    return n < 10 ? '0' + n : n;
}

// 현재 시간을 리턴
function getCurrentDate(){

    var date = new Date();
    return date.getFullYear().toString() + addZero(date.getMonth() + 1) + addZero( date.getDate()) 

         + addZero( date.getHours() ) + addZero( date.getMinutes() ) + addZero(date.getSeconds());
}

 

첫 번째 함수에서는 10 미만인 숫자(년, 월, 일, 시, 분, 초)에 삼항 연산자를 이용해서 0을 모두 붙여 줍니다.

이런 반복되는 작업은 함수로 빼서 위와 같이 처리해주면 좀 더 소스를 간단하게 처리할 수 있습니다.

 

숫자, 특히 시간을 리턴해주는 이런 함수에서 흔히 하는 실수가 10 미만의 시간에 0을 붙여주지 않아서 시간 비교가 제대로 되지 않는 오류가 흔합니다.

또 다른 것으로 달력의 날짜가 있겠습니다.

항상 우리는 숫자를 다룰 때는 0과 null에 주의해서 코딩을 진행해야 합니다.

그래야 별거 아니지만 프로세스에 영향을 주는 위와 같은 실수를 줄일 수 있습니다.

 

제가 지금 이 포스팅을 하는 이유도 오늘 이런 오류가 발생했기 때문에 상기시키기 위해서입니다.

항상 0과 null에 신경 쓰는 코딩하시기 바랍니다.

 

그럼 이만.

끝.