프로그래밍/JavaScript

JavaScript 날짜 시간

꾸션 2022. 3. 1. 17:50

Javascript에서는 날짜, 시간을 출력 및 계산할 수 있도록 Date 객체를 제공합니다.

Date객체에서 제공하는 날짜관련 함수를 이용해서 날짜, 시간과 밀리초를 출력하는 방법과, 성능 검증 및 테스트에 많이 사용하는 경과시간을 계산하는 방법에 대해서 알아 보겠습니다.

 

1. 현재시간 출력

1) 날짜시간 (년월일 시분초)

let now = new Date()

//
// 로컬 날짜시간
//
console.log(now.toLocaleString())
// 2022. 3. 1. 오후 4:51:43

console.log(now.toString())
// Tue Mar 01 2022 16:51:43 GMT+0900 (대한민국 표준시)

const myYear = now.getFullYear()
const myMonth = (now.getMonth() + 1).toString().padStart(2, '0')
const myDay = now.getDate().toString().padStart(2, '0')
const myHour = now.getHours().toString().padStart(2, '0')
const myMinutes = now.getMinutes().toString().padStart(2, '0')
const mySeconds = now.getSeconds().toString().padStart(2, '0')
const myMilliseconds = now.getMilliseconds().toString().padStart(3, '0')
console.log(`${myYear}-${myMonth}-${myDay} ${myHour}:${myMinutes}:${mySeconds}.${myMilliseconds}`)
// 2022-03-01 16:51:43.869
// getMonth 함수는 '0 ~ 11'을 리턴하므로 값에 '1'을 더해줍니다.
// padStart 함수를 이용해서 고정자리수(2 혹은 3)로 표시되도록 합니다.


//
// 표준 날짜시간
//
console.log(now)
// 2022-03-01T07:51:43.869Z

console.log(now.toISOString())
// 2022-03-01T07:51:43.869Z

console.log(now.toUTCString())
// Tue, 01 Mar 2022 07:51:43 GMT

console.log(now.toJSON())
// 2022-03-01T07:51:43.869Z

const utcYear = now.getUTCFullYear()
const utcMonth = (now.getUTCMonth() + 1).toString().padStart(2, '0')
const utcDay = now.getUTCDate().toString().padStart(2, '0')
const utcHour = now.getUTCHours().toString().padStart(2, '0')
const utcMinutes = now.getUTCMinutes().toString().padStart(2, '0')
const utcSeconds = now.getUTCSeconds().toString().padStart(2, '0')
const utcMilliseconds = now.getUTCMilliseconds().toString().padStart(3, '0')
console.log(`${utcYear}-${utcMonth}-${utcDay} ${utcHour}:${utcMinutes}:${utcSeconds}.${utcMilliseconds}`)
// 2022-03-01 07:51:43.869

 

2) 날짜 (년월일)

console.log(now.toDateString())
// Tue Mar 01 2022

console.log(now.toLocaleDateString())
// 2022. 3. 1.

 

3) 시간 (시분초)

console.log(now.toTimeString())
// 16:51:43 GMT+0900 (대한민국 표준시)

console.log(now.toLocaleTimeString())
// 오후 4:51:43

 

2. 경과시간 출력

1) Date.now() 이용

let startTime = Date.now()

// do something...

let endTime = Date.now()

console.log(`경과 시간: ${endTime - startTime} milliseconds`)

 

2) Date 객체 이용

let startTime = new Date()

// do something...

let endTime = new Date()

console.log(`경과 시간: ${endTime.getTime() - startTime.getTime()} milliseconds`)