whatisthis?

javaScript. (13) Date / RegExp 객체 본문

WEB STUDY/JAVASCRIPT

javaScript. (13) Date / RegExp 객체

thisisyjin 2022. 1. 27. 10:45

1. Date

const time = new Date(); //현재 날짜+시간 저장

const time = new Date(2000, 5, 10)  // 2000년 6월 10일 0시 00분 00초

new와 객체를 함수처럼 사용한다.

특정 날짜를 저장하려면 new Date() 안에 년,월,일을 함수에 인수를 넣듯이 하면 된다.

 

❗ 여기서, 월(Month)의 경우에는 -1이 되므로 6월이면 5라고 해야한다. (즉, 1월 = 0)

 

 

 

 

📌 Date 관련 메서드

 

1) 날짜.getFullYear()

   날짜.setFullYear(연도)

 

- getYear과 setYear도 있지만, 2000년 이후를 표시하지 못해서 

Full이 추가된 getFullYear과 setFullYear이 등장했다.

 

2) 날짜.getMonth()

    날짜.setMonth(달-1)

 

- get으로 달을 얻으려면, getMonth() + 1을 해주어야 한다.

- 달을 설정하려면, setMonth(달-1)을 해주어야 한다.

 

3) 날짜.getDate()

    날짜.setDate()

 

- 날짜를 알려주거나 저장함.

- let date = new Date()가 setDate와 같은 결과.

- date; 가 getDate와 같은 결과.

 

 

4) 날짜.getDay() / 날짜.setDay()

- 요일을 알려주거나 저장함

0 1 2 3 4 5 6

 

 

 

5) 날짜.getHours()  / 날짜.getMinutes() / 날짜.getSeconds()

    날짜.setHours()  / 날짜.setMinutes() / 날짜.setSeconds()

 

- 시, 분, 초를 생성 or 가져옴

 

 

 

6) 날짜.toString()

   날짜.toLocaleString() 

   날짜.toUTCString()

 

- 날짜를 문자로 바꿔 표현함.

- 현재 날짜정보 / 보기 좋은 날짜 정보 / 세계시 기준 정보

toString

💡 원래 new Date() 또는 날짜.setDate()로 생성한 것은 string이 아닌 'object'로 뜬다.

 

toLocaleString
toUTCString

Coordinated Universal Time (UTC)
- 협정 세계시. 

 

 


 

📌 Date 계산

let birth = new Date(2000, 5, 10);         // 2000년 6월 10일
birth.setDate(birth.getDate() - 15);        // 2000년 5월 26일 ㅡ 달 계산도 해줌

birth.setMonth(birth.getMonth() + 3);       // 2000년 9월 10일

날짜.setFullYear(날짜.getFullYear ± 년수)

날짜.setDate(날짜.getDate ± 일수)

날짜.setMonth(날짜.getMonth ± 월수)

 

날짜.setHours(날짜.getHours ± 시간)

 

 

 


 

2. RegExp 객체

 - 정규표현식.

 

예>

 

['사자','과자','과일','타자','타일'] 배열이 있으면

여기서 "자"로 끝나는 단어를 고른다든지, "사"로 시작하는 단어를 고르는 등의 역할을 함.

 

>> String에서 특정 패턴을 찾아줌.

 

 

 

const array = ['사자', '과자', '과일', '타자', '타일'];
const result = [];

array.forEach(function(item) {
   if(item.match(/자$/)) {
      result.push(item);
   }
});

console.log(result);       // ['사자', '과자', '타자']

match 메서드를 사용해서 '자'로 끝나는 string을 찾고,

조건에 만족하면 result 배열(원래는 빈 배열)에 push하는 방법이다.

 

위에서 /자$/ 부분이 정규표현식이다.

/패턴/

 

'가'로 시작하는 String /^가/
'나'로 끝나는 String /나$/

>> $는 끝을 의미하고 / ^는 시작을 의미.

 

___

 

💡 String.match(패턴)

- match() 메서드는 문자열이 정규식과 매치되는 부분을 검색한다.

str.match(regexp)

- regexp는 정규식 개체로, 만약 일반 객체 obj가 전달되면 new RegExp(obj)로 RegExp로 변환된다.

- 매개변수 없이 match()만 하면, 빈 문자열 ('')이 있는 array가 반환된다.

 

- ⭕ 일치하는 것이 있다면 그 문자열을 첫번째 요소로 포함하는 Array 반환

- ❌ 일치하는 것이 없다면 null 반환

 

 

🔻 참고

 

** 패턴 만족하는 문자열을 검색하여 index를 반환

String.search(패턴)

 

** 문자열이 RegExp인지 알아보려면? 

RegExp.test(문자열)

 

** 일치하는 것 중 맨 첫번째 것을 알고싶을 때

RegExp.exec(문자열)

>> 패턴과 일치하면 배열을 반환함.

 

첫번째 요소 = 일치하는 문자열

두번째 요소부터는 정규표현식의 group을 반환.

 

 

 

정규 표현식 - JavaScript | MDN

정규 표현식은 문자열에 나타는 특정 문자 조합과 대응시키기 위해 사용되는 패턴입니다. 자바스크립트에서, 정규 표현식 또한 객체입니다.  이 패턴들은 RegExp의 exec 메소드와 test 메소드  ,

developer.mozilla.org

추후 포스팅 예정.


REFERENCE

 

https://www.zerocho.com/category/JavaScript/post/573b5caf88b62017000df8fc

 

(JavaScript) Date, RegExp 객체

마지막으로 Date, RegExp 객체에 대해 알아보겠습니다. Date는 날짜를 표현하고, RegExp 객체는 정규 표현식이라고 특정한 규칙을 가진 문자열의 집합을 표현합니다. 무슨 소린지 모르겠죠? 일단은 Date

www.zerocho.com

이 포스팅은 zerocho님의 javascript 강의를 보고 작성한 글입니다.

공부+기록 용으로 작성한 것이며, 자세한 것은 위 포스팅을 참고하세요!