◆ Date 함수
현재 시스템 날짜를 포함한 Variant(Date) 값을 반환합니다.
구문 Date
참고 시스템 날짜 설정시 Date 문을 사용합니다.
Date 함수 예제
이 예제는 Date 함수를 사용하여 현재 시스템 날짜를 반환합니다.
Dim MyDate
MyDate = Date ' MyDate에 현재 시스템 날짜가 포함되어 있습니다.
◆ DateAdd 함수
특정 시간 간격을 포함한 Variant (Date) 값을 반환합니다.
구문 DateAdd(interval, number, date)
DateAdd 함수 구문은 다음과 같은 이름 지정된 인수로 되어 있습니다
|
구성 요소 |
설명 |
|
interval |
필수. 문자열 식을 사용하여 시간 간격을 표시합니다. |
|
Number |
필수 숫자 식을 사용하여 날짜에 시간 간격을 가감합니다. 양수(이후 시간을 계산하는 경우)와 음수(이전 시간을 계산하는 경우) 모두 사용 가능합니다. |
|
Date |
필수. Variant (Date) 형의 날짜에는 시간 간격이 가감됩니다. |
|
|
설정 interval 인수는 다음과 같이 설정되어 있습니다.
|
설정 사항 |
설명 |
설정 사항 |
설명 |
|
yyyy |
연도 |
w |
요일 |
|
q |
분기 |
ww |
주 |
|
m |
월 |
h |
시간 |
|
y |
일자 |
n |
분 |
|
d |
일 |
s |
초 |
|
|
참고
날짜에 특정 시간을 가감할 때 DateAdd 함수를 사용합니다.
예를 들어, 현재 시간부터 45분 이후 시간이나, 현재 일로부터 30일 이후의 날짜를 계산할 때 DateAdd 함수를 사용합니다.
date에 날짜를 더할 때, 연("y"), 일("d")이나 요일("w")을 사용합니다.
DateAdd 함수는 틀린 날짜 값은 반환하지 않습니다. 다음은
DateAdd("m", 1, "31-Jan-95")
위의 경우, DateAdd 함수는 95년-2월-31일이 아닌 95년-2월-28일을 반환합니다.
만약 date 가
계산한 날짜가 100년을 넘어가는 경우 오류가 발생합니다.(실제 date보다 많은 연도를 가감했기 때문입니다)
number가 Long 값이 아닌 경우는, 가까운 정수값으로 반올림한 후 계산합니다.
|
명명된 인수 개체 라이브러리에서 먼저 정의된 이름을 가진 인수를 의미합니다. 구문에서 요구하는 지정된 순서의 각 인수 값을 제공하는 대신에 사용자는 명명된 인수를 사용하여 임의의 순서로 값을 할당할 수 있습니다. 예를 들면 다음과 같이 세 개의 인수를 받는 방법을 제안합니다. DoSomeThing namedarg1, namedarg2, namedarg3 값을 명명된 인수에 할당함으로써 사용자는 다음의 문을 사용할 수 있습니다. DoSomeThing namedarg3 := 4, namedarg2 := 5, namedarg1 := 20 명명된 인수는 구문의 정상 배치 순서로 나타내지 않아도 된다는 것을 주의하십시오. Long 데이터 형식 -2,147,483,648에서 2,147,483,647까지의 범위를 갖는 4바이트 정수를 의미합니다. 앰퍼샌드( &) 형식 선언 문자는 Visual Basic에서 Long으로 나타납니다. |
|
|
DateAdd에서 반환하는 값의 형식은 날짜 인수에서 전달한 형식에 따라 결정되지 않고 제어판의 설정에 따라 결정됩니다.
DateAdd 함수 예제
이 예제는 날짜를 선택하고 DateAdd 함수를 사용하여 미래의 지정된 달에 따른 날짜를 나타냅니다.
Dim FirstDate As Date ' 변수를 선언합니다.
Dim IntervalType As String
Dim Number As Integer
Dim Msg
IntervalType = "m" ' "m" specifies months as interval.
FirstDate = InputBox("Enter a date")
Number = InputBox("Enter number of months to add")
Msg = "New date: " & DateAdd(IntervalType, Number, FirstDate)
MsgBox Msg
◆ DateDiff 함수
지정된 두 날짜 간의 시간 간격을 의미하는 Variant (Long) 값을 반환합니다.
구문 DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
DateDiff 함수 구문은 다음과 같은 이름 지정된 인수로 되어 있습니다.
|
구성 요소 |
설명 |
|
interval date1, date2 Firstdayofweek Firstweekofyear |
필수. 문자열 식을 사용하여 date1와 date2 간의 시간 간격을 계산. 필수. Variant (Date) 값. 두 날짜 값을 계산. 선택. 상수는 주의 시작하는 요일을 지정. 생략시 일요일로 지정. 선택. 상수는 년의 시작하는 주를 지정. 생략시 1월 1일이 포함된 주를 지정. |
|
|
설정
interval 인수는 다음과 같은 구성 요소로 되어 있습니다
|
연도 |
분기 |
월 |
연중 일자 |
일 |
요일 |
주 |
시 |
분 |
초 |
|
yyyy |
q |
m |
y |
d |
w |
ww |
h |
n |
s |
|
|
|
firstdayofweek 인수는 다음과 같이 설정되어 있습니다 |
|
firstweekofyear 인수는 다음과 같은 구성 요소로 되어 있습니다 | ||||
|
상 수 |
값 |
설 명 |
|
상 수 |
값 |
설 명 |
|
vbUseSystemVbSunday vbMonday vbTuesday vbWednesday vbThursday vbFriday vbSaturday |
0 1 2 3 4 5 6 7 |
NLS API 설정 값을 사용 일요일(기본값) 월요일 화요일 수요일 목요일 금요일 토요일 |
|
vbUseSystem VbFirstJan1 VbFirstFourDay VbFirstFullWeek |
0 1 2 3 |
NLS API 설정 값을 사용. 1월 1일이 포함된 주부터 시작. (기본 값). 신년의 주중 일자가 4일 이상인 주를 첫 주로 시작. 신년의 주중 일자가 7일인 주로 시작. |
|
|
참고
DateDiff 함수는 날짜 간에 시간 간격을 계산할 때 사용합니다. 예를 들면, 두 날짜 간의 일자 계산이나 현재 날짜부터 연말까지 주 수를 계산할 때 DateDiff 함수를 사용합니다.
date1과 date2 간의 일자를 계산하는 경우 연("y")이나 일("d")을 사용합니다. interval이 요일("w")인 경우, DateDiff는 두 날짜 간의 주 수를 반환합니다. date1이 월요일일 경우 DateDiff는 date2까지 월요일 수를 계산합니다. date1이 아닌 date2를 계산합니다. interval이 주("ww")일 경우, DateDiff 함수는 지정된 두 날짜 간의 주 수를 반환합니다. 이 경우,date1과 date2 간의 일요일 수를 계산합니다. DateDiff 함수는 일요일로 나누어 떨어지는 경우 date2를 계산하고, date1
인 경우는 계산하지 않습니다.
date1가 date2 이후 시간인 경우, DateDiff 함수는 음수를 반환합니다.
firstdayofweek 인수는 시간 간격 부호 "w"와 "ww"의 결과값에 영향을 줍니다.
date1 또는 date2가 date 문자열인 경우, 지정된 날짜 부분의 값은 변하지 않습니다. 그러나 date1
과 date2가 큰 따옴표(" ")로 묶인 경우, 년도를 생략해도 프로그램에는 date1와 date2 식을 처리할 때마다 항상 현재 년도가 삽입됩니다. 다음 경우 다른 년에 사용하는 프로그램을 작성할 수 있습니다.
12월 31일을 익년 1월 1일과 비교하면, DateDiff 함수는 일자로는 하루 차가 나지만, 년도 값("yyyy") 1을 반환합니다.
|
명명된 인수 개체 라이브러리에서 먼저 정의된 이름을 가진 인수를 의미합니다. 구문에서 요구하는 지정된 순서의 각 인수 값을 제공하는 대신에 사용자는 명명된 인수를 사용하여 임의의 순서로 값을 할당할 수 있습니다. 예를 들면 다음과 같이 세 개의 인수를 받는 방법을 제안합니다. DoSomeThing namedarg1, namedarg2, namedarg3 값을 명명된 인수에 할당함으로써 사용자는 다음의 문을 사용할 수 있습니다. DoSomeThing namedarg3 := 4, namedarg2 := 5, namedarg1 := 20 명명된 인수는 구문의 정상 배치 순서로 나타내지 않아도 된다는 것을 주의하십시오. 문자열 식 계속된 문자의 나열을 계산하는 식을 의미합니다. 문자열 식의 요소는 문자열 문자, 문자열 리터럴, 문자열 상수, 문자열 변수, 문자열 Variant를 반환하는 함수 또는 문자열 Variant (VarType 8)를 반환하는 함수를 포함합니다. 상수 프로그램을 실행하는 동안 상수 값을 보유하는 지정 항목을 의미합니다. 상수로서 문자열이나 숫자 리터럴, 다른 상수, 또는 Is와 지수를 제외한 대수 및 논리 연산자의 모든 조합이 가능합니다. 각각의 호스트 응용 프로그램은 고유의 상수 집단을 정의할 수 있습니다. 사용자는 추가적인 상수를 Const 문을 사용하여 정의할 수 있습니다. 사용자는 코드의 어느 곳에나 실제 값 대신 상수를 사용할 수 있습니다. 날짜 리터럴 수 기호(#)로 둘러싸인 유효 형식으로 나열된 문자를 의미합니다. 유효 형식에는 사용자 코드용 지역 설정이나 일반 날짜 유형에 의해 지정되는 날짜 형식을 포함합니다. 예를 들면 #12/31/96#은 |
|
|
DateDiff 함수 예제
이 예제는 DateDiff 함수를 사용하여 주어진 날짜와 오늘 사이의 날짜 수를 나타냅니다.
Dim TheDate As Date ' 변수를 선언합니다.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg
◆ DatePart 함수
관련 자료의 특정 부분을 포함한 Variant (Integer) 값을 반환합니다.
구문 DatePart(interval, date[,firstdayofweek[, firstweekofyear]])
DatePart 함수 구문은 다음과 같은 이름 지정된 인수 형식으로 사용합니다.
|
구성 요소 |
설명 |
|
interval Date firstdayofweek Firstweekofyear |
필수. 문자열 식을 사용하여 시간 간격을 나타냅니다. 필수. Variant (Date) 값을 계산합니다.. 선택. 상수를 사용하여 주의 시작일을 지정합니다. 생략시 일요일로 계산합니다. 선택. 상수를 사용하여 년의 첫 주를 계산합니다. 생 시 1월 1일이 포함된 주를 지정합니다. |
|
|
설정 interval 인수는 다음과 같이 설정됩니다.
|
설 정 |
yyyy |
q |
m |
y |
d |
w |
ww |
h |
n |
s |
|
설 명 |
연도 |
분기 |
월 |
날 |
일 |
요일 |
주 |
시 |
분 |
초 |
|
|
|
firstdayofweek 인수는 다음과 같이 설정됩니다. |
|
firstweekofyear 인수는 다음과 같은 구성 요소로 되어 있습니다. | ||||
|
상 수 |
값 |
설 명 |
|
상 수 |
값 |
설 명 |
|
vbUseSystem VbSunday vbMonday vbTuesday vbWednesday vbThursday vbFriday vbSaturday |
0 1 2 3 4 5 6 7 |
NLS API 설정 값을 사용. 일요일(기본값) 월요일 화요일 수요일 목요일 금요일 토요일 |
|
vbUseSystem VbFirstJan1 VbFirstFourDays VbFirstFullWeek |
0 1 2 3 |
NLS API 설정값을 사용. 1월 1일을 포함하는 주로 시작 (기본값). 신년의 주 중 일자가 4일 이상인 주를 첫 주로 시작. 신년의 주 중 일자가 7일인 주로 시작. |
|
|
참고
특정한 시간 간격을 계산하거나 결과값을 반환할 때 DatePart 함수를 사용합니다. 예를 들어 현재 시각이나 요일을 계산할 때 DatePart 함수를 사용할 수 있습니다.
firstdayofweek 인수는 시간 간격 부호 "w"와 "ww"의 결과값에 영향을 줍니다.
date가 date 문자열인 경우, 지정된 날짜 부분의 값은 변하지 않습니다. 그러나 date 큰 따옴표 ("")로 묶인 경우, 년도를 생략해도 프로그램 상에는 date 식을 처리할 때마다 코드에 항상 현재 년도가 삽입됩니다. 위 경우 다른 년도에 사용하는 코드를 작성할 수 있습니다.
DatePart 함수 예제
이 예제는 날짜를 선택하고 DatePart 함수를 사용하여 그 해의 4분기를 나타냅니다.
Dim TheDate As Date ' 변수를 선언합니다.
Dim Msg
TheDate = InputBox("Enter a date:")
Msg = "Quarter: " & DatePart("q", TheDate)
MsgBox Msg
◆ DateSerial 함수
지정된 년, 월, 일의 Variant (Date) 값을 반환합니다.
구문 DateSerial(year, month, day)
DateSerial 함수 구문은 다음과 같은 이름 지정된 인수 형식으로 사용합니다
|
구성 요소 |
설명 |
|
year Month Day |
필수.정수. 숫자 식을 포함한 100과 9999 사이의 숫자를 나타냅니다. 필수. 정수. 모든 숫자 식. 필수. 정수. 모든 숫자 식. |
|
|
참고
날짜 지정시,
다음은 특정 일자를 지정하지 않고 숫자 식을 사용한 예제입니다. DateSerial 함수는 1일로부터 1일 전(1 - 1), 8월로부터 2개월 전(8 - 2), 1990년으로부터 10년 전(1990 - 10) 등에 해당하는 날짜인
DateSerial(1990 - 10, 8 - 2, 1 - 1)
year 인수의 경우 0에서 29까지의 수는 2000-2029년으로 해석됩니다. 30에서 99까지의 수는 1930-1999년으로 해석됩니다.
다른 모든 연도 인수에는 4자리 수(예를 들면 1800)를 사용합니다.
인수 값이 승인된 범위를 초과할 경우, 적절한 상위 단위로 변환하여 계산합니다. 예를 들어 35일을 지정한 경우, 해당 년도 적용 일자에 따라 1개월 몇 일로 계산합니다. 단위 인수 값이 -32,768에서 32,767의 범위를 초과하는 경우는 오류가 발생합니다. 세 인수에 따라 지정된 날짜가 승인된 범위를 초과하는 경우에도 오류가 발생합니다.
DateSerial 함수 예제
이 예제는 DateSerial 함수를 사용하여 지정된 년, 월, 일에 대한 날짜를 반환합니다.
Dim MyDate ' MyDate에
MyDate = DateSerial(1969, 2, 12) ' 날짜를 반환합니다.
◆ DateValue 함수
Variant (Date) 값을 반환합니다.
구문 DateValue(date)
date 인수는 1월 1일, 100부터 12월 31일, 9999까지의 날짜를 나타내는 문자열 식입니다. date는 숫자 식을 사용하여 지정된 범위 내의 날짜, 시간, 일시 등을 나타냅니다.
참고
date는 유효한 날짜 구분 기호로 분리되는 숫자를 포함하는 문자열로써 DateValue 함수는 시스템에 지정된 간단한 날짜 유형에 따라 순서대로 년, 월, 일을 인식합니다. DateValue 함수는 약식 또는 정식 월 이름을 포함한 정해진 날짜 형식을 인식합니다.
예를 들어 DateValue 함수는
DateValue 중 년도 부분을 생략한 경우, DateValue 함수는 시스템의 현재 년도를 사용합니다.
시간 정보를 포함하는 date 인수의 경우, DateVale 함수는 해당 정보를 반환하지 않습니다.
만일 유효하지 않은 시간 정보(예, "89:98")를 포함하고 있는 경우 오류가 발생합니다.
|
날짜 구분자 날짜 값이 형식화되어 있을때 일, 월, 년도를 분리하기위해 사용하는 문자를 의미합니다. 이 문자는 시스템 설정이나 Format 함수에 의해서 결정됩니다. |
|
|
DateValue 함수 예제
이 예제는 DateValue 함수를 사용하여 문자열을 날짜로 변환합니다.
사용자는 날짜 문자를 사용하여 날짜를 직접 Variant이나 Date 변수로 할당할 수 있습니다.
예를 들면, MyDate = #2/12/69#.
Dim MyDate
MyDate = DateValue("February 12, 1969") ' 날짜를 반환합니다.
◆ Day 함수
해당 월의 날짜를 의미하는 정수값에 해당하는 Variant (Integer) 값을 반환합니다.
구문 Day(date)
date 인수는 날짜를 표시할 수 있는 Variant, 숫자 식, 문자열 식, 및 기타 형식 등을 사용합니다. date
에 Null 값이 포함되어 있으면, Null 값을 반환합니다.
Day 함수 예제
이 예제는 Day 함수를 사용하여 지정된 날짜로부터 그 달의 일을 얻습니다. 개발 환경에서 날짜 문자는 사용자 코드를 지역 설정하여 간단한 날짜 형식으로 나타냅니다.
Dim MyDate, MyDay
MyDate = #February 12, 1969# ' 날짜를 지정합니다.
MyDay = Day(MyDate) ' MyDay가 12를 포함하고 있습니다.
◆ DDB 함수
이중 체감 잔액법(double-declining balance method)이나 지정한 다른 방법을 사용하여 특정 기간 동안 자산의 감가상각을 지정하는 Double을 반환합니다.
구문 DDB(cost, salvage, life, period[, factor])
DDB 함수는 다음과 같이 명명된 인수로 구성되어 있습니다.
|
구성 요소 |
설명 |
|
cost Salvage Life Period Factor |
필수. 초기 자산 비용을 지정하는 Double. 필수. 유용 기간이 끝나는 시점의 자산 액수를 지정하는 Double. 필수. 자산의 유용 기간 길이를 지정하는 Double. 필수. 자산 감가상각이 계산되는 기간을 지정하는 Double. 선택. 잔액이 감퇴하는 비율을 지정하는 Variant. 생략하면 2(이중 체감법)로 간주합니다. |
|
|
참고
이중체감 잔액법은 가속화된 비율로 감가상각을 계산합니다. 감가상각은 최초의 기간에서 가장 높고 연속적으로 감소합니다.
인수 life와 period는 같은 단위로 표시해야 합니다. 예를 들면 life의 단위가 달이면 period도 달로 표시해야 합니다. 인수들은 모두 양수이어야 합니다.
DDB 함수는 다음 공식을 사용하여 주어진 기간 동안의 감가상각을 계산합니다.
감가상각 / period = ((cost-salvage) * factor) / life
|
명명된 인수 개체 라이브러리에서 먼저 정의된 이름을 가진 인수를 의미합니다. 구문에서 요구하는 지정된 순서의 각 인수 값을 제공하는 대신에 사용자는 명명된 인수를 사용하여 임의의 순서로 값을 할당할 수 있습니다. 예를 들면 다음과 같이 세 개의 인수를 받는 방법을 제안합니다. DoSomeThing namedarg1, namedarg2, namedarg3 값을 명명된 인수에 할당함으로써 사용자는 다음의 문을 사용할 수 있습니다. DoSomeThing namedarg3 := 4, namedarg2 := 5, namedarg1 := 20 명명된 인수는 구문의 정상 배치 순서로 나타내지 않아도 된다는 것을 주의하십시오. |
|
|
DDB 함수 예제
초기 비용(InitCost), 자산 유효 기간 말기의 공제액(SalvageVal), 자산의 연 단위 총 기간(LifeTime), 감가상각액이 계산될 연 단위의 기간(Depr) 등이 주어진 지정된 분기에 대한 자산의 감가상각액을 반환하기 위해 DDB 함수를 사용하는 예제입니다.
Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, Depr
Const YRMOS = 12 ' l년 동안의 달 수.
Fmt = "###,##0.00"
InitCost = InputBox("자산의 처음 가격은 얼마입니까?")
SalvageVal = InputBox("유효 기간이 끝날때 자산의 값을 입력합니다.")
MonthLife = InputBox("몇달 내에서 자산의 사용 가능한 유효 기간은 언제입니까?")
Do While MonthLife < YRMOS ' 기간이 1년 이상인가를 검사합니다.
MsgBox "자산 유효 기간은 1년 또는 그 이상이 되어야 합니다."
MonthLife = InputBox("몇달 내에서 자산의 사용 가능한 유효 기간은 언제입니까?")
LifeTime = MonthLife / YRMOS ' 달을 년으로 변환합니다.
If LifeTime <> Int(MonthLife / YRMOS) Then
LifeTime = Int(LifeTime + 1) ' 가장 최근의 해로 반올림합니다.
End If
DepYear = CInt(InputBox("감가상각 계산을 위해 년도를 입력합니다."))
Do While DepYear < 1 Or DepYear > LifeTime
MsgBox LifeTime& "적어도 1년이나 그 이하를 입력해야 합니다."
DepYear = InputBox("감가상각 계산을 위해 년도를 입력합니다.")
Depr = DDB(InitCost, SalvageVal, LifeTime, DepYear)
MsgBox "그 해의 감가상각은 " & DepYear & " 입니다 "& _
Format(Depr, Fmt) & "."