Date 객체
Date 객체는 날짜를 저장하고 날짜 관련 메서드를 지원해 줌
Date 객체 생성
new Date()를 이용하여 Date 객체 생성
// 현재시간이 저장된 날짜 객체를 생성
let now_date = new Date();
console.log(now_date);
new Date(milisecond) 형태로 1970 년 1월 1일 0시 0분 0초를 기준으로 milisecond 를 추가한 시간을 생성(하지만 한국 표준시로 출력되므로 9시로 생성됨)
// 1970년 1월 1일 0시 0분 0초의 날짜 생성(한국 표준시 기준이므로 9시로 출력)
let first = new Date(0);
// 1970년 1월 1일 에 2일을 추가한 1970년 1월 3일 날짜 생성
let second = new Date(48 * 3600 * 1000);
console.log(first);
console.log(second);
new Date(datestr) 안에 날짜를 직접 주어서 해당 날짜를 출력함
let date = new Date("2021-09-01");
console.log(date);
new Date(year, month, date, hours, minutes, seconds, ms) 형태로 숫자형 타입을 주어서 날짜를 생성할 수 있음
let date =new Date(2021, 09, 05, 10, 20, 40, 541);
console.log(date);
날짜 객체 구성요소 설정
아래 메서드들을 이용하여 날짜의 구성요소를 설정할 수 있음 ([]는 옵션, month는 0부터 1월)
- setFullYear(year, [month], [date])
- setMonth(month, [date])
- setDate(date)
- setHours(hour, [min], [sec], [ms])
- setMinutes(min, [sec], [ms])
- setSeconds(sec, [ms])
- setMilliseconds(ms)
- setTime(milliseconds)
자동고침
Date객체는 자동고침 기능이 있어서 범위를 벗어나는 날짜는 자동으로 변경 ex) 1월 32일 -> 2월 1일로 변경
let date = new Date(2021,2,32); //3월 32일은 존재하지 않음
console.log(date) //자동으로 4월 1일로 변경
setDate(num) 의 매개변수로 0을 주면 이전달의 마지막 일로 변경
let date = new Date(2021,2,1); //2021 3월 1일
date.setDate(0);
console.log(date)
Date.parse
YYYY-MM-DDTHH:mm:ss.sssZ 형식의 문자열을 Date.parse(str) 를 이용하여 문자열로 변경할 수 있음
YYYY-MM-DD : 년-월-일
T : 날짜와 시간의 구분기호
HH:mm:ss.sss : 시-분-초-밀리초
Z : 시간을 am, pm 시로 변경 (옵션)
let date_str = Date.parse("2021-03-09T21:40:39.332");
let date = new Date(date_str);
console.log(date)
get 메서드를 이용하여 날짜 포맷 변경
get 메서드는 위의 set메서드를 get으로 변경하면 됨
날짜 포맷 함수 생성
function setDateFormat(date,separ,isTime){ //날짜,날짜 구분자, 시간도 출력할건지
let _year = date.getFullYear();
let _month = date.getMonth();
let _date = date.getDate();
let result = [_year,_month,_date].join(separ);
if(isTime){
let _hour = date.getHours();
let _min = date.getMinutes();
let _sec = date.getSeconds();
let _mili = date.getMilliseconds();
result += ' '+[_hour,_min,_sec,_mili].join(":");
}
return result;
}
console.log(setDateFormat(new Date,'-',true));
console.log(setDateFormat(new Date,'-',false));
'JavaScript > JavaScript기초' 카테고리의 다른 글
[Javascript] new Function 문법 (0) | 2021.09.09 |
---|---|
[Javascript] JSON (0) | 2021.09.08 |
[Javascript] 이터러블(iterable) (0) | 2021.09.05 |
[Javascript] 구조 분해 할당 (0) | 2021.09.02 |
[Javascript] Map과 Set (0) | 2021.09.01 |