본문 바로가기
웹 개발/JavaScript

[JavaScript] 현재 날짜, 시간 구하기 / 형식 변경 하기 (YYYY-MM-DD, YYYY/MM/DD, HH:MI:SS, AM/PM 표시)

by 알쓸전잡 2025. 8. 23.
반응형

자바스크립트에서 현재 시간과 날짜를 구하기 위해서는 Date() 를 사용하면 됩니다.

Date 함수를 사용하면 날짜 형식을 자유롭게 편집하거나 별도의 연/월/일/시/분/초 값만 추출하여 할당할 수 없기 때문에 Date 객체에서 제공하는 함수를 사용하여 형식(포맷)을 변환하는 작업이 추가로 필요합니다.

 

현재 시간 및 날짜 구하기
//현재 시간을 변수에 할당
var today = new Date();
//Sat Aug 23 2025 23:15:59 GMT+0900 (한국 표준시)

 

Date 객체를 사용하면 현재 시스템의 날짜가 출력되지만, 원하는 날짜/시간 형식(포맷)으로 출력되지 않습니다.

날짜 형식(포맷) 변경하기(YYYY-MM-DD, YYYY/MM/DD)
//현재 시간을 변수에 할당
var today = new Date();

//연,월,일을 자릿수 동일하게 변수에 할당
var year = today.getFullYear();
var month = ('0' + (today.getMonth() + 1)).slice(-2);
var day = ('0' + today.getDate()).slice(-2);
// YYYY-MM-DD 형식으로 변환
var dateString1 = year + '-' + month  + '-' + day;
// 2025-08-23

//연,월,일을 자릿수 동일하게 변수에 할당
var year = today.getFullYear();
var month = ('0' + (today.getMonth() + 1)).slice(-2);
var day = ('0' + today.getDate()).slice(-2);
// YYYY-MM-DD 형식으로 변환
var dateString2 = year + '/' + month  + '/' + day;
// 2025/08/23

 

  • getMonth() 함수는 0~11을 반환하기 때문에 항상 +1을 해줘야 1~12월로 표시됩니다.
  • getMonth(), getDate() 함수는 수치로 값을 반환하기 때문에 동일한 자릿수로 표시하기 위해서 앞에 "0" 을 붙이고 slice(-2)로 뒤에서 2자리만 잘라서 값을 가져와야 합니다.
시간 형식(포맷) 변경하기 (HH24:MI:SS,, HH:MI:SS AM/PM)
//현재 시간을 변수에 할당
var today = new Date();

//시,분,초를 자릿수 동일하게 변수에 할당
var hours = ('0' + today.getHours()).slice(-2); 
var minutes = ('0' + today.getMinutes()).slice(-2);
var seconds = ('0' + today.getSeconds()).slice(-2); 
// HH:MI:SS 형식으로 변환
var timeString = hours + ':' + minutes  + ':' + seconds;
// 23:15:59

//시,분,초를 자릿수 동일하게 변수에 할당
var hours = ('0' + today.getHours()).slice(-2);
var meridiem = 'AM';
// 12시 이후에는 다시 00으로 표시하고 PM 으로 변경
  if (hours >= 12) {
    hours = hours - 12;
    meridiem = 'PM';
  }
var minutes = ('0' + today.getMinutes()).slice(-2);
var seconds = ('0' + today.getSeconds()).slice(-2); 
// HH:MI:SS 형식으로 변환
var timeString = hours + ':' + minutes  + ':' + seconds + ' ' + meridiem;
// 23:15:59 PM

 

시간 관련 함수도 날짜 함수와 동일하게 수치 값을 반환하기 때문에 자릿수를 맞추는 작업을 해야 합니다.

날짜, 시간 전체 나오는 형식(포맷) 변경하기 (YYYY-MM-DD HH24:MI:SS)
//현재 시간을 변수에 할당
var today = new Date();

//연,월,일을 자릿수 동일하게 변수에 할당
var year = today.getFullYear();
var month = ('0' + (today.getMonth() + 1)).slice(-2);
var day = ('0' + today.getDate()).slice(-2);
// YYYY-MM-DD 형식으로 변환
var dateString1 = year + '-' + month  + '-' + day;

//시,분,초를 자릿수 동일하게 변수에 할당
var hours = ('0' + today.getHours()).slice(-2); 
var minutes = ('0' + today.getMinutes()).slice(-2);
var seconds = ('0' + today.getSeconds()).slice(-2); 
// HH:MI:SS 형식으로 변환
var timeString = hours + ':' + minutes  + ':' + seconds;

var FulldateString =  year + '-' + month  + '-' + day + ' ' + hours + ':' + minutes  + ':' + seconds;
// 2025-08-23 11:37:04

 

전체 코드 확인

See the Pen JS 현재시간 구하기 by 이진하 (@nflthxvp-the-sans) on CodePen.

반응형