본문 바로가기
웹프로그래밍/JavaScript

(4)Codeit_JavaScript기초강좌_4장(작성중..)

by 코잼민 2024. 10. 2.

 

3_Date 객체(내장 객체)

1_ 정의 : JavaScript라이브러리에 내장되어있는 객체를 의미 //Java의 클래스의 인스턴스 객체와 비슷

2_ 생성방법 : 변수 <- new Date();

ex_ let myDate = new Date(); 

3_ 반환 값 :

  • number를 객체에 대입시 :Date객체(number) : 객체 생성 때의 시간 + number(밀리초msec).
  • 문자열('YYYY - MM - DD  || 'YYYY-MM-DDThh:mm:ss'')을 대입시 : 그 문자열에 저장된 시간을 반 
  • new Date(YYYY,MM,DD,hh,mm,ss,ms) 

 

new Date(YYYY,MM,DD,hh,mm,ss,ms) 의 주의점 :

①_ YYYY, MM 입력은 필수값

②_ MM에서 월은 0부터 시작 (즉, 0이 1월임)

4_ 객체의 메소드 속성 종류 :

①. Date객체 + .get????() 메소드 :

● getTime() : 해당 객체의 Date시간 값이 UTC부터 얼만큼 지났는지를 차이를 반환하는 메소드

● Date객체의 연도(Year) 반환 : Date객체.getFullYear()

Date객체의 월(Month) 반환 : Date객체.getMonth() + 1 //월은 0부터 시작이기 때문

Date객체의 일(Day) 반환 : Date객체.getDay()

● ★선언만한 Date객체의 getTime()메소드 반환값 : 현시점의 시간을 msec로 반환 (== Date.now()) 

②. Date객체 + .set????() 메소드도 마찬가지로. 설정 메소드

③. Date객체 + .toLocal????String

Date객체의 Month/Day/Year 반환 메소드 : Date객체.toLocaleDateString()

Date객체의 hh:mm:ss +PM/AM 반환 메소드 : Date객체.toLocaleTimeString()

Date객체의 Month/Day/Year , hh:mm:ss +PM/AM 반환 메소드 Date객체.toLocalString()

5_ 자동으로 Day를 33을 초기화하면, 알아서 31일 or 29일 범위 맞게 조정해준다.

6_ 정보가 들어간 Date객체.getTime() => 객체에 들어간 시간정보의 msec단위 number값으로 반환

 이를 통해,

- 초로 반환 : Date객체.getTime() / 1000 => sec초로 변환

- 분으로 반환 :  Date객체.getTime() / 1000 / 60 => minute로 반환

- 시간으로 반환 : Date객체.getTime()/1000 / 60 / 60 => hour로 반환

- Day로 반환 :  Date객체.getTime()/1000 / 60 / 60/24 => day로 반환

7_ 다양한 형식의 문자열로 Date객체 초기화(중요할까?)

let date1 = new Date('12/15/1999 05:25:30');
let date2 = new Date('December 15, 1999 05:25:30');
let date3 = new Date('Dec 15 1999 05:25:30');
  

4_Date 실습문제

○ 내가 틀린 이유 :

  • today.getTime() > 상일이가 입사한 날짜의 객체.getTime() // 옛날 시간이 더 작은 값이다.
  • 차이값을 다른 변수로 초기화 할 때, 그냥 let 변수에 초기화 하면 된다.

코드 :

1
2
3
4
5
6
7
8
9
10
11
12
let today = new Date(2112724);
let jaeSangStart = new Date(210961);
 
function workDayCalc(startDate) {
    // 여기에 코드를 작성하세요
    let result = new Date();
  result.setTime(today.getTime()-startDate.getTime());
 
    console.log(`오늘은 입사한 지 ${result.getTime()/1000/60/60/24 +1}일째 되는 날 입니다.`);
}
 
workDayCalc(jaeSangStart);
cs