brunch

You can make anything
by writing

C.S.Lewis

by 별더하기 May 08. 2021

24강 - 날짜의 부분처리 함수


계속해서 주어진 날짜에서 내가 원하는 부분만을 취하는 함수들에 대해 살펴보겠습니다.



각각 년, 월, 일, 시, 분, 초, 요일을 받아오는 함수들입니다.

중요한 점은 인자로 전달되는 x1의 값이 반드시 날짜 형식이어야 한다는 것이죠.

Sub F24_01()

Dim YY_T, MM_T, DD_T, TT_T, MN_T, SS_T, WW_T As String

YY_T = Year(Now())

MM_T = Month(“2030-06-01”)

DD_T = Day(Date)

WW_T = Weekday(Now())

TT_T = Hour(Now())

MN_T = Minute(“오후 8:48:07”)

SS_T = Second(Time())

Worksheets(“Sheet1”).Cells(2, 2).Value = “년 : “ & YY_T

Worksheets(“Sheet1”).Cells(2, 3).Value = “월 : “ & MM_T

Worksheets(“Sheet1”).Cells(2, 4).Value = “일 : “ & DD_T

Worksheets(“Sheet1”).Cells(3, 2).Value = “시 : “ & TT_T

Worksheets(“Sheet1”).Cells(3, 3).Value = “분 : “ & MN_T

Worksheets(“Sheet1”).Cells(3, 4).Value = “초 : “ & SS_T

Worksheets(“Sheet1”).Cells(3, 5).Value = “요일 : “ & WW_T

End Sub

x1에 해당하는 인자값은 반드시 날짜 형식의 값이 전달되어야 합니다.

YEAR와 DATE처럼 시스템함수를 전달할 수도 있고 사용자가 직접 입력한 날짜 형식도 무관합니다.

단 사용자가 입력한 경우는 큰따옴표가 붙는다는 점을 기억해 두세요.

날짜형 데이터 유형도 결국 문자입니다.

또 하나 유념해야 할 점은 년, 월, 일, 요일의 경우는 DATE가 반드시 포함되어야 한다는 것과 시, 분, 초의 경우는 반드시 TIME이 포함되어야 한다는 점이죠.

그리고 WEEKDAY는 우리가 익히 사용하는 월, 화, 수 등의 요일이 출력되지 않고 일요일을 1로 시작해서 토요일 7까지 출력된다는 점을 기억해 두세요.

날짜를 세분화해서 출력하는 함수는 위와 같은 함수 외에도 다음과 같은 함수가 주로 사용됩니다.

좀 더 세밀하게 나누어 출력하는 날짜함수입니다.



전달되는 인자에 대한 설명을 하자면, x1의 경우는 날짜 형식에서 취하고자 하는 부분을 명시하는 인자입니다.

즉 주어진 날짜에서 년, 월, 일, 시, 분, 초 등을 나타내는 것이죠.

x2의 경우는 당연히 대상이 되는 날짜를 전달합니다.

중요한 부분은 x1의 인자값은 언제나 큰따옴표를 붙여 전달한다는 점이죠.

다음 표는 첫 번째 인자인 x1에 위치할 수 있는 인자값을 정리한 것입니다.



WEEK와 WEEKDAY의 차이는 전자의 경우 해당년도의 몇 번째 주차인지를 나타내고 후자의 경우는 요일을 표시합니다.

그리고 DAY COUNT는 1년 중 몇 번째 날인지를 숫자로 반환합니다.

역시 x2의 인자값은 반드시 날짜 형식의 값만을 취할 수 있습니다.

Sub 실습05_3_3()

Dim YY_T, MM_T, DD_T, TT_T, MN_T, SS_T, WW_T, WK_T, DC_T, QT_T As String

YY_T = DatePart(“YYYY”, Now())

MM_T = DatePart(“M”, Now())

DD_T = DatePart(“D”, Now())

QT_T = DatePart(“Q”, Now())

WW_T = DatePart(“W”, Now())

TT_T = DatePart(“H”, Now())

MN_T = DatePart(“N”, Now())

SS_T = DatePart(“S”, Now())

WK_T = DatePart(“WW”, Now())

DC_T = DatePart(“Y”, Now())

Worksheets(“Sheet1”).Cells(2, 2).Value = “년 : “ & YY_T

Worksheets(“Sheet1”).Cells(2, 3).Value = “월 : “ & MM_T

Worksheets(“Sheet1”).Cells(2, 4).Value = “일 : “ & DD_T

Worksheets(“Sheet1”).Cells(2, 5).Value = “분기 : “ & QT_T

Worksheets(“Sheet1”).Cells(2, 6).Value = “일수 : “ & DC_T

Worksheets(“Sheet1”).Cells(3, 2).Value = “시 : “ & TT_T

Worksheets(“Sheet1”).Cells(3, 3).Value = “분 : “ & MN_T

Worksheets(“Sheet1”).Cells(3, 4).Value = “초 : “ & SS_T

Worksheets(“Sheet1”).Cells(3, 5).Value = “요일 : “ & WW_T

Worksheets(“Sheet1”).Cells(3, 6).Value = “주차 : “ & WK_T

End Sub


https://youtu.be/mPiOFKV_DZg

매거진의 이전글 23강 - 현재 날짜와 시간
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari