javascript

[javascript] 타임스탬프를 시간 문자열로 변환

Be direct 2023. 9. 19. 09:39
반응형

#1 타임스탬프란?

JavaScript에서 "타임스탬프"는 보통 현재 날짜와 시간을 나타내는 숫자 값으로 사용됩니다.

이 숫자 값은 보통 "밀리초(millisecond)" 단위로 표현되며, 1970년 1월 1일 자정(UTC)을 기준으로 몇 밀리초가 지났는지를 나타냅니다. 이 시점을 "에포크(epoch)"라고도 합니다.

 

반응형

#2 타임스탬프에서 시간 문자열로 변환 함수

타임스탬프에서 시간 문자열로 변환하는 함수입니다.

/**
 * 주어진 타임스탬프를 형식화된 날짜와 시간 문자열로 변환하는 함수.
 *
 * @param {number} timeStamp - 변환할 타임스탬프 (밀리초 단위)
 * @param {string} dateSeparator - 날짜 요소 사이에 사용할 구분자 (기본값: "-")
 * @param {string} timeSeparator - 시간 요소 사이에 사용할 구분자 (기본값: ":")
 * @return {string} - 형식화된 날짜와 시간 문자열 (예: "2023-09-18 14:30:45")
 *
 * @example
 * // 사용 예:
 * var timeStamp = 1631976645000; // 2021년 9월 18일 14시 30분 45초의 타임스탬프
 * var formattedDate = formatTimeStamp(timeStamp); // "2023-09-18 14:30:45"를 반환
 */
function formatTimeStamp(timeStamp, dateSeparator = "-", timeSeparator = ":") {
    var date = new Date(timeStamp); // 타임스탬프를 인자로 받아 Date 객체 생성

    // 생성한 Date 객체에서 년, 월, 일, 시, 분, 초를 각각 문자열로 추출
    var year   = date.getFullYear().toString();           // 년도
    var month  = ("0" + (date.getMonth() + 1)).slice(-2); // 월 2자리 (01, 02 ... 12)
    var day    = ("0" + date.getDate()).slice(-2);        // 일 2자리 (01, 02 ... 31)
    var hour   = ("0" + date.getHours()).slice(-2);       // 시 2자리 (00, 01 ... 23)
    var minute = ("0" + date.getMinutes()).slice(-2);     // 분 2자리 (00, 01 ... 59)
    var second = ("0" + date.getSeconds()).slice(-2);     // 초 2자리 (00, 01 ... 59)

    // 형식화된 문자열 생성
    var formattedDateTime = `${year}${dateSeparator}${month}${dateSeparator}${day} ${hour}${timeSeparator}${minute}${timeSeparator}${second}`;

    return formattedDateTime;
}
  1. timeStamp (필수) : 변환할 타임스탬프를 나타내는 숫자 값 (밀리초 단위). 
        이 값을 기반으로 날짜와 시간 문자열을 생성합니다.
  2. dateSeparator (선택적) : 날짜 요소 (년, 월, 일) 사이에 사용할 구분자를 나타내는 문자열입니다.
        기본값은 "-"로 설정되어 있으며, 다른 구분자로 변경할 수 있습니다.
  3. timeSeparator (선택적) : 시간 요소 (시, 분, 초) 사이에 사용할 구분자를 나타내는 문자열입니다.
        기본값은 ":"로 설정되어 있으며, 다른 구분자로 변경할 수 있습니다.

함수는 주어진 타임스탬프를 이용하여 날짜와 시간을 추출하고, 이를 형식화된 문자열로 결합하여 반환합니다.

반환된 문자열은 다음 형식을 따릅니다 (년-월-일 시:분:초)

 

#3 함수 호출 예제

var timeStamp = 1631976645000; // 2021년 9월 18일 14시 30분 45초의 타임스탬프
var formattedDate = formatTimeStamp(timeStamp); // "2023-09-18 14:30:45"를 반환

함수는 주어진 타임스탬프를 해당 형식에 맞는 날짜와 시간 문자열로 변환하여 반환합니다.

반응형