본문 바로가기

Development/ASP

ASP, VBScript 형변환, 날짜/시간함수

출처 : http://blog.naver.com/const34/20042866990

▣ 함수(Function) - 변환 관련 함수, 날짜/시간 관련 함수
&sec 학습목표
  1. ASP에서 지원하는 함수의 종류와 특징을 안다.
  2. ASP에서 지원하는 함수를 사용할 수 있다.

 

함수는 프로그램 코드내에서 반복적으로 사용되는 루틴이나 모듈을 구성할때 사용하는 것이다. 이런 함수를 보통 프로그래머가 구성을 하는 것이 원칙이다. 그러나 일일이 구성하는 것은 특히 사용자가 쉽게 표현하지 힘든 특정처리부분을 처리하기는 어렵다. 때문에 ASP에서 내장함수로 제공하여 준다.

함수의 사용예제를 링크걸어 두겠다.

ASP-Function 다운로드 ]

또 Microsoft에서 제공하는 MSDN에 방문해 보면 VBScript에 대한 모든 정보를 접할 수 있는데 함수도 그안에서 사용법과 주의할 점을 찾을 수 있다.

찾이가는 방법은 일단 MSDN.microsoft.com에서 상단 주메뉴에서 Library를 선택한다. 화면이 바뀌면 아래에 서브메뉴가 펼쳐지면 메뉴중에서 [Web Development] - [Scripting]- [Windows Script Tecnologies] - [VBScript] - [Reperence] - [Function] 을 차레로 산택하면 된다. 물론 VBScript의 다른 정보도 접할 수 있다.

일단 함수부분에 바로 접근할 수 있도록 링크를 걸어 두었다.

MSDN VBScript Function Reference ]

1. 변환 관련 함수

변환 관련 함수는 데이터의 형변환이나 데이터의 변환에 사용되는 함수이다.

(1) Asc

문자열에서 첫글자에 해당하는 ANSI 문자 코드를 반환한다.

형 식
Asc(string)

Dim MyNumber
MyNumber = Asc("A") ' Returns 65.
MyNumber = Asc("a") ' Returns 97.
MyNumber = Asc("Apple") ' Returns 65.

(2) AscB

문자열에서 그 문자의 첫 바이트를 반환한다.

형 식
AscB(string)

사용법은 ASC와 같다.

(3) AscW

문자열에서 그 문자의 첫 유니코드 문자 코드를 반환한다.

형 식
AscW(string)

사용법은 ASC와 같다.

(3) CBool

Boolean 하위형식의 Variant로 변환된 식을 반환

형 식
CBool(expression)

Dim A, B, Check
A = 5: B = 5 ' Initialize variables.
Check = CBool(A = B) ' Check contains True.
A = 0 ' Define variable.
Check = CBool(A) ' Check contains False.

(4) CByte

Byte 하위형식의 Variant로 변환된 식을 반환(결과는 255를 넘을 수 없다)

형 식
CByte(expression)

Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.

(5) CCur

Currency 하위형식의 Variant로 변환된 식을 반환한다.

형 식
CCur(expression)

Dim MyDouble, MyCurr
MyDouble = 543.214588 ' MyDouble is a Double.
MyCurr = CCur(MyDouble * 2) ' Convert result of MyDouble * 2 (1086.429176) to a Currency (1086.4292).

(6) CDate

Date 하위형식의 Variant로 변환된 식을 반환한다.

형 식
CDate(date)

MyDate = "2005-05-27" ' Define date.
MyShortDate = CDate(MyDate) ' #2005-05-27#

(7) CDbl

Double 하위형식의 Variant로 변환된 식을 반환한다.

형 식
CDbl(expression)

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784) ' MyCurr is a Currency (234.4567).
MyDouble = CDbl(MyCurr * 8.2 * 0.01) ' Convert result to a Double (19.2254576).

(8) CInt

Integer 하위형식의 Variant로 변환된 식을 반환한다. (반올림한다)

형 식
CInt(expression)

Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.

(9) Chr(charcode)

지정한 ANSI 문자 코드와 연관된 문자를 반환한다.

형 식
Chr(charcode)

Dim MyChar
MyChar = Chr(65) ' Returns A.
MyChar = Chr(97) ' Returns a.
MyChar = Chr(62) ' Returns >.
MyChar = Chr(37) ' Returns %.

(10) ChrB

chr 함수와 같으나 문자열의 바이트를 지정해서 사용한다. 항상 싱글바이트로 반환한다.

형 식
ChrB(charcode)

(11) ChrW

chr 함수와 같으나 유니코드 데이터를 지정해 사용한다.

형 식
ChrW(charcode)

(12) CLng

Long 하위형식의 Variant로 변환된 식을 반환한다. (실수데이터인경우 반올림한다)

형 식
ChrW(charcode)

MyVal1 = 25427.45: MyVal2 = 25427.55 ' MyVal1, MyVal2 are Doubles.
MyLong1 = CLng(MyVal1) ' MyLong1 contains 25427.
MyLong2 = CLng(MyVal2) ' MyLong2 contains 25428.

(13) CSng

Single 하위형식의 Variant로 변환된 식을 반환한다.(반올림처리)

형 식
CSng(expression)

' MyDouble1, MyDouble2 are Doubles.
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1) ' MySingle1 contains 75.34211.
MySingle2 = CSng(MyDouble2) ' MySingle2 contains 75.34216.

(14) CStr

String 하위형식의 Variant로 변환된 식을 반환한다.

형 식
CStr(expression)

Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble) ' MyString contains "437.324".

(15) Fix

숫자의 정수부분만을 반환한다. 
Sgn(number) * Int(Abs(number))의 결과와 같은 함수이다.

형 식
Fix(expression)

MyDouble = -437.324 ' MyDouble is a Double.
MyFix = Fix(MyDouble) ' MyFix contains "-437".

(16) Hex

숫자의 16진수를 나타내는 문자열로 반환한다.

형 식
Hex(number)

Dim MyHex
MyHex = Hex(5) ' Returns 5.
MyHex = Hex(10) ' Returns A.
MyHex = Hex(459) ' Returns 1CB.

(17) Int

지정된 숫자의 값보다 크지 않은 최대의 정수를 반환한다.

형 식
Int(number)

MyNumber = Int(99.8) ' Returns 99.
MyNumber = Fix(99.2) ' Returns 99.
MyNumber = Int(-99.8) ' Returns -100.
MyNumber = Fix(-99.8) ' Returns -99.
MyNumber = Int(-99.2) ' Returns -100.
MyNumber = Fix(-99.2) ' Returns -99.

(18) Oct

숫자의 8진수 값을 반환한다.

형 식
Oct(number)

Dim MyOct
MyOct = Oct(4) ' Returns 4.
MyOct = Oct(8) ' Returns 10.
MyOct = Oct(459) ' Returns 713.

(19) Round

지정한 소수점 자리에서 반올림한 수를 반환한다.

형 식
Round(expression[, numdecimalplaces])

pi = 3.14159
MyVar1 = Round(pi) ' MyVar1 contains 3.
MyVar2 = Round(pi, 2) ' MyVar2 contains 3.14. 
var1 = Round(1.5) ' var1 contains 2
var2 = Round(2.5) ' var2 contains 2
var3 = Round(3.5) ' var3 contains 4
var4 = Round(0.985, 2) ' var4 contains 0.98
var5 = Round(0.995, 2) ' var5 contains 1.00

(20) Sgn

수의 부호를 반환한다. (음수이면 -1, 아니면 0)

형 식
Sgn(number)

Dim MyVar1, MyVar2, MyVar3, MySign
MyVar1 = 12: MyVar2 = -2.4: MyVar3 = 0
MySign = Sgn(MyVar1) ' Returns 1.
MySign = Sgn(MyVar2) ' Returns -1.
MySign = Sgn(MyVar3) ' Returns 0.


2. 날짜/시간 함수

날짜와 시간에 관련된 함수들이다. 날짜데이터는 1989년 12월31일을 기준으로 하여 카운팅하여 사용한다.

(1) Date

현재 시스템의 날짜

형 식
Date

Dim MyDate
MyDate = Date

(2) DateAdd

지정된 시간간격을 추가한 날짜를 반환한다.

형 식
DateAdd(interval, number, date)

interval의 세팅값은 다음과 같다.

SettingDescription
yyyy 
Year

Quarter
mMonth
yDay of year
dDay
wWeekday
wwWeek of year


NewDate = DateAdd("m", 1, "2005-05-13") '2005-06-13 
NewDate = DateAdd("d", 10, "2005-05-13") '2005-05-23
NewDate = DateAdd("d", -10, "2005-05-13") '2005-05-03

(3) DateDiff

두 날짜 사이의 날짜 간격수를 반환한다.

형 식
DateDiff(interval, date1, date2 [,firstdayofweek [,firstweekofyear]])

interval의 세팅값은 DateAddd와 기본적으로 같다.

SettingDescription
yyyy 
Year

Quarter
mMonth
yDay of year
dDay
wWeekday
wwWeek of year
hHour
nMinute
sSecond

Date 데이타 형식은 # 과 " 둘다 사용가능하다.

DateDiff("d", Now, #2005-12-25#) '208 
DateDiff("d", Now, "2004-12-25") '-157

(4) DatePart

주어진 날짜의 지정된 부분을 반환한다.

형 식
DatePart(interval, date[, firstdayofweek[, firstweekofyear]])

interval의 세팅값은 DateDiff와 기본적으로 같다.

a =DatePart("q", "2005-07-13") '3 , 즉 3/4분기에 속한다는 것이다.

(5) DateSerial

지정된 년, 월, 일의Date 하위형식인 Variant를 반환한다.

형 식
DateSerial(year, month, day)

MyDate1 = DateSerial(1970, 1, 1) ' 1970-01-01

(6) DateValue

Date 하위형식인 Variant를 반환한다. (#Date#)

형 식
DateValue(date)

a =DateValue("2005-05-13") ' 2005-05-13

(7) Day

날짜/시간 형식의 데이터로 부터 날짜를 반환한다.(1~31)

형 식
Day(date)

MyDay = Day("2005-05-19") ' MyDay contains 19.

(8) Hour

날짜/시간 형식의 데이터로 부터 시간를 반환한다.(0~23)

형 식
Hour(time)

MyHour = Hour(now) '현재시간의 시를 출력

(9) Minute

날짜/시간 형식의 데이터로 부터 분을 반환한다.(0~59)

형 식
Minute(time)

Dim MyVar
MyVar = Minute(Now)

(10) Month

날짜/시간 형식의 데이터로 부터 월을 반환한다.(1~12)

형 식
Month(date)

Dim MyVar
MyVar = Month(Now) ' 현재 날짜에서 월데이터를 가져온다.

(11) MonthName

지정한월을 나타내는 문자열을 반환한다.abbreviate의 기본값은 false이다.

형 식
MonthName(month[, abbreviate])

Dim MyVar
MyVar = MonthName(10, True) ' 10
MyVar = MonthName(10) ' 10월

(12) Now

현재 컴퓨터의 시스템 날짜와 시간을 반환한다

형 식
Now

MyVar = Now

(13) Second

날짜/시간 형식의 데이터로 부터 초를 반환한다.(0~59)

형 식
Second(time)

MySec = Second(Now) ' 현재시간에서 초 데이터를 가져온다.

(14) Time

현재 시스템 시간을 나타내는 Date 하위형식의 Variant를 반환한다.

형 식
Time

MyTime = Time ' 현재시간을 반환한다.

(15) TimeSerial

지정된 년, 월, 일의Date 하위형식인 Variant를 반환한다.

형 식
TimeSerial(hour, minute, second)

hour : Number between 0 (12:00 A.M.) and 23 (11:00 P.M.), inclusive, or a numeric expression.

minute : Any numeric expression.

second : Any numeric expression.

MyTime1 = TimeSerial(12 - 6, -15, 0)

(16) TimeValue

시간을 포함하는 Date 하위형식인 Variant를 반환한다.

형 식
TimeValue(time)

MyTime = TimeValue("4:35:17 PM") '오후 4:35:17

(17) Weekday

요일을 나타내는 정수를 반환한다.

형 식
Weekday(date, [firstdayofweek])

리턴되는 값은 1~7 의 정수이며 일요일부터 토요일까지의 순서를 의미한다.

Constant 
Value
Description
vbSunday
1
Sunday
vbMonday
2
Monday
vbTuesday 
3
Tuesday
vbWednesday
4
Wednesday
vbThursday
5
Thursday
vbFriday
6
Friday
vbSaturday
7
Saturday

MyWeekDay = Weekday(now)

(18) WeekdayName

지정된 요일을 나타내는 문자열을 반환한다.

형 식
WeekdayName(weekday, abbreviate, firstdayofweek)

Constant 
Value
Description
vbSunday
1
Sunday
vbMonday
2
Monday
vbTuesday 
3
Tuesday
vbWednesday
4
Wednesday
vbThursday
5
Thursday
vbFriday
6
Friday
vbSaturday
7
Saturday

MyDate = WeekDayName(6, True) ' 금

MyDate = WeekDayName(6) '금요일

(19)Year

날짜/시간 형식의 데이터로 부터 년도를 반환한다.

형 식
Year(date)

MyYear = Year(now) '현재날짜의 년도 데이터를 가져온다.


데이터 타입

Cbool - Boolean  
Cbyte - Byte  
Ccur - Currency  
Cdate - Date  
CDbl - Double 
Cint -  Integer  
CLng - Long  
CSng - Single  
CStr - String 
Cvar - Variant  
CVErr - Error