티스토리 뷰
안녕하세요~
이번에 javascript를 사용하여 Date 객체에 대해 자세히 다룰 일이 있었어요.
그래서 경험했던 것을 기록하고 나누고자 이번 포스팅 시작하였습니다.
Date() 객체와 관련 함수들은 앞으로도 정말 많이 사용할 거 같아요.
목차:
1. Date() 객체 생성하기
2. Date.now()
3. getTime()
4. setTime()
5. toLocaleString()
Date 객체 생성하기
Date()를 사용하는 방법을 다음과 같습니다. 생성자 안에 넣은 인자의 성질과 개수에 따라 반환하는 것이 다릅니다.
-
Date()
-
Date(milliseconds)
-
Date(datastring)
-
Date(year, month, date, hours, minutes, seconds, ms)
1. Date()
date 객체를 생성하기 위해서는 Date 생성자 앞에 꼭 new를 붙여서 사용하셔야 합니다. 실수로 빼먹고 사용하시는 분들이 있으시더라고요.
인자 없이 Date 객체를 사용하신다면 실행하는 순간의 컴퓨터/서버의 현재 시간을 반환합니다.
ex)
var now = new Date();
return result:
대한민국 표준시를 따르는 컴퓨터의 현재시간이 반환되었습니다.
2. Date(milliseconds)
UTC 기준(UTC+0) 1970년 1월 1일 0시 0분 0초에서 milliseconds 밀리초(1/1000 초) 후의 시점이 저장된 Date 객체가 반환됩니다. 또한 1970년의 첫날을 기준으로 흘러간 밀리초를 나타내는 정수를 타임스탬프(timestamp)라고 부릅니다.
ex)
var milliseconds = new Date(0);
return result:
파라미터에 0을 넣어 1970년 1월 1일 09:00(GMT+9)을 확인할 수 있었습니다.
3. Date(datastring)
파라미터에 문자열을 넣는다면, 해당 문자열을 자동으로 파싱하여 date 객체로 생성합니다.
ex 1)
var date = new Date("2022-12-25");
return result:
년/월/일만 입력하였으므로 GMT +9 기준 09:00시를 반환하였습니다. GMT +0 이면 00:00으로 초기화됩니다.
ex 2)
var date = new Date("2022-12-25" + ":" + "10:00:00.000");
return result:
4. Date(year, month, date, hours, minutes, seconds, ms)
주어진 인수를 조합해 만들 수 있는 날짜가 저장된 객체가 반환됩니다(지역 시간대 기준). 첫 번째와 두 번째 인수만 필수 값입니다. 각 인자들에 대해 다시 설명드리도록 하겠습니다. 문자열로 입력하지 마시고 숫자만 입력해주세요.
-
year: 2020과 같이 네 자리 숫자만 들어가야 합니다.
-
month: 0(1월) ~ 11(12월) 사이의 숫자여야 합니다. 1월을 0부터 시작한다는 점 주의해주세요.
-
date: 1에서 31까지의 값입니다. 없으면 1일을 반환합니다.
-
hours/minutes/seconds/ms: 지정하지 않으면 0으로 설정됩니다.
ex)
var date = new Date(2020, 11, 13, 17, 30, 0, 0);
return result:
Date(2020, 11, 13, 17, 30, 0, 0) => 2020년 12월 13일 17:30:00.000
2. Date.now()
Date.now()는 1970년 1월 1일 0시 0분 0초(GMT +0)부터 현재까지 경과된 밀리초를 반환합니다. now는 정적 메서드라서 new를 붙이지 않고 사용합니다. 주의하세요!
ex)
var timeInMs = Date.now();
return result:
3. getTime()
로컬 시간의 전체 시간 값을 밀리초 값으로 나타내어 반환합니다.
ex)
var now = new Date().getTime();
return result:
4. setTime()
setTime()의 들어가는 파라미터는 1970 년 1 월 1 일 00:00:00 UTC 이후의 밀리 초 수를 나타내는 정수입니다. setTime() 함수를 사용하면 다른 Date 객체에 날짜와 시간을 지정할 수 있습니다.
ex)
var chrismas = new Date('Dec 25 2020');
var today = new Date();
today.setTime(chrismas.getTime());
return result:
5.toLocaleString()
toLocaleString() 메서드는 날짜의 언어 구분 표현이 있는 문자열을 반환합니다.
새로운 로케일 및 옵션 인수를 사용하면 응용 프로그램에서 형식 지정 규칙을 사용해야 하는 언어를 지정하고, 함수의 동작을 사용자 지정할 수 있습니다.
const event = new Date(Date.UTC(2020, 11, 25, 10, 10, 0));
// 'en-US'기준으로 표시
console.log(event.toLocaleString('en-US', { timeZone: 'UTC' }));
// 기본 설정으로 표시
console.log(event.toLocaleString({ timeZone: 'UTC' }));
return result:
Date() 객체와 관련된 함수들은 정말 많습니다.
우선 대표적으로 많이 쓰이는 함수들을 알려드렸는데요. 다른 함수들도 궁금하시면 아래의 링크를 참고하셔서 사용하시면 됩니다. 감사합니다~