본문 바로가기

메봇 강좌

4.2.날짜 객체 사용법

오랫만에 돌아왔습니다.

그동안 강좌가 뜸했었네요.

 

이번 강좌에서는 날짜 객체의 사용법에 대해 알아보도록 하겠습니다.

 

- 날짜 객체 -

날짜객체는 날짜정보를 반환합니다.

그냥 바로 사용할 수는 없고, 생성해 줘야만 쓸 수 있습니다.

 

현재 날짜의 날짜객체를 생성하는 방법은 아래와 같습니다.

var 변수명 = new Date();

 

예시) var Date = New Date();

 

특정 날짜의 날짜객체를 생성하는 방법은 아래와 같습니다.

var 변수명 = new Date("연/월/일");

 

예시) var aprilfools = new Date("2020/4/1");

 

날짜 정보를 가져올 때 날짜 정보를 수정할 때
getFullYear() 연도 정보를 가져옵니다. setFullYear() 연도 정보만 수정합니다.
getMonth()

월 정보를 가져옵니다.

(현재 월-1)

setMonth()

월 정보만 수정합니다.

(월-1)

getDate() 일 정보를 가져옵니다. setDate() 일 정보만 수정합니다.
getDay()

요일 정보를 가져옵니다.

(일 : 0 ~ 토 : 6)

요일은 날짜를 바꾸면 자동으로 바뀌므로 setDay()는 없음
getHours() 시 정보를 가져옵니다. setHours() 시 정보만 수정합니다.
getMinutes() 분 정보를 가져옵니다. setMinutes() 분 정보만 수정합니다.
getSeconds() 초 정보를 가져옵니다. setSeconds() 초 정보만 수정합니다.
getMilliseconds()

밀리초 정보를 가져옵니다.

(1밀리초=1/1000초)

setMilliseconds()

밀리초 정보만 수정합니다.

(1밀리초=1/1000초)

getTime() 1970년 1월 1일부터 경과된 시간을 밀리초로 가져옵니다. setTime() 1970년 1월 1일부터 경과된 시간을 밀리초로 수정합니다.
toGMTString() GMT 표준 표기방식으로 문자형 데이터로 반환합니다. toLocaleString() 운영 시스템 표기 방식으로 문자형 데이터로 반환합니다.

위 표만 던져놓고 끝내면 성의가 없겠죠?

하나하나 사용법을 보도록 합시다.

 

우선

var date = new Date();

으로 날짜 객체를 생성해 준 뒤,

var nowyear = date.getFullYear();

var nowmonth = date.getMonth()+1;

var nowdate = date.getDate();

var nowday = date.getDay();

var nowhour = date.getHours();

var nowmin = date.getMinutes();

var nowsec = date.getSeconds();

var nowmillisec = date.getMilliseconds();

var flowtime = date.getTime();

var gmttime = date.toGMTString();

이라고 해줍시다.

 

그리고 나서,

replier.reply(

"현재 년도 : "+nowyear+

"\n현재 달 : "+nowmonth+

"\n현재 날짜 : "+nowdate+

"\n현재 요일 : "+nowday+

"\n현재 시 : "+nowhour+

"\n현재 분 : "+nowmin+

"\n현재 초 : "+nowsec+

"\n현재 밀리초 : "+nowmillisec+

"\n현재 1970년 1월 1월 이후 흐른 시간 : "+flowtime+

"\n현재 GMT 시간 : "+gmttime

);

이라고 한다면 2020년 4월 4일 오후2시 28분 23.0327초 기준 아래와 같은 결과를 볼 수 있습니다.

 

요일이 6이라 나오니 토요일이란 사실을 알 수 있다.

 

이 때 의문이 2가지 드실 겁니다.

하나는

"replier.reply()의 괄호 안에서 줄을 바꿔도 되는 건가요?"

일 것이며, 또 다른 하나는

"\n은 뭔가요?"

일 것입니다.

 

첫번째 의문부터 살펴보죠.

문자열 안에서 그대로 줄을 바꿔버리면 문자열이 끊어져서 오류가 납니다.

replier.reply(

"안녕하세요
저는 청정수 입니다."

);

위와 같이 말이죠.

그러나 문자열을 닫고 +로 뒤의 문자열과 잇는다고 한 뒤 줄을 바꾸면 괜찮습니다.

replier.reply(

"안녕하세요"+

"저는 청정수 입니다."

);

이렇게 말이죠.

물론 줄을 바꾼다고 해서 출력 결과물이 줄바꿈되진 않습니다.

그냥 코드가 읽기 편해질 뿐이에요.

 

두번째 의문은 간단합니다. \n은 문자열 안에서 엔터를 의미합니다.

replier.reply("안녕하세요\n저는 청정수 입니다.");

이라고 한다면 출력 결과는

안녕하세요

저는 청정수 입니다.

가 될 겁니다.

 

아래는 날짜 객체를 이용해서 날짜 정보를 반환하는 예제 소스입니다.

https://moonbot.tistory.com/11

 

3.5.1.날짜 정보를 반환하는 소스

const scriptName = "날짜 테스트"; function response(room, msg, sender, isGroupChat, replier, imageDB, packageName) { if(msg=="/날짜"){ var date = new Date(); var nowyear = date.getFullYear(); var no..

moonbot.tistory.com

이번 강좌에서는 날짜 객체의 사용법에 대해 알아보았습니다.

 

날짜 객체의 날짜 정보 수정은 거의 안 쓰이니 나중에 알아보도록 하겠습니다.

(도주)

 

다음 강좌에서는 배열 객체에 대해 더 자세히 알아보겠습니다.

 

이상 읽어주셔서 감사합니다.

 

'메봇 강좌' 카테고리의 다른 글

4.4.문자열 객체의 사용법  (2) 2020.04.19
4.3.배열 객체의 사용법  (0) 2020.04.05
4.1수학객체 사용법  (1) 2020.03.30
3.3.반복문  (0) 2020.03.29
3.2.제어문  (0) 2020.03.28