* 현재 날짜와 시간(특별한 인자를 요구하지 않음)
- now() : date() + time() 값 반환. 연, 월, 일, 시, 분, 초 반환
- date() : 연, 월, 일을 시스템으로 받아와서 전달
- time() : 시, 분, 초를 시스템으로부터 받아와서 전달
* 날짜의 부분처리 함수
- year(x1), month(x1), day(x1)
x1: 날짜 유형으로 인자가 전달되어야 함
- hour(x1), minute(x1), second(x1)
x1: 시간 유형으로 인자가 전달되어야 함
- weekday(x1)
x1: 날짜 유형으로 인자가 전달되어야 함
ex)
- year(now()), month(2020-06-07"), day(date)
- hour(now()), minute(time()), second("2:02:04")
- weekday(date)
단, weekday는 월, 화, 수, ...가 아닌 1, 2, 3, ... 형태로 나타남. 따라서 월, 화, 수, ... 로 나타내기 위해서는 한번 더 변환 과정을 거쳐야 함.(일=1, 월=2, ... 토=7)
* 요일 변경
if elseif else 문을 사용하거나 select case문을 사용하면 됨. 이 이 케이스의 경우 select case문을 사용하는 것이 더 유용함.
* 시간 차
datediff(x1, x2, x3)
x1: 두 날짜 사이의 간격을 어떤 기준에 의해 출력해줄 것인지를 정하는 인자. 예로 들어 몇년의 차이가 있는지, 몇개월의 차이가 있는지, 몇일의 차이가 있는지, 몇요일의 차이가 있는지를 결정.
x2: 비교대상 첫번째 날짜값
x3: 비교대상 두번째 날짜값
x1 인자값 종류:
- year: YYYY
- month: M
- day : d
- quarter : q
- week : ww 또는 w
- hour : h
- Minute : n
- second : s
ex) datediff("YYYY", "2015-01-01", now())
* 날짜 이동: 날짜를 원하는 날짜로 이동시켜주는 함수
dateadd(x1, x2, x3)
x1: 기준이 되는 인자. 연도로 이동할 것인지, 월 이동 할 것인지, 일 이동 할 것인지 결정
x2: 얼마만큼의 간격으로 이동할 것인지를 결정하는 인자.
x3: 이동하게 될 대상 날짜
ex)
dateadd("YYYY", 10, now)
dateadd("D", -10, now)
'Edu > 19. VBA' 카테고리의 다른 글
| [VBA]문자열 길이 조절, 길이 확인, 대상 문자열 변경 (0) | 2022.02.14 |
|---|---|
| [excel][basic]인쇄 영역 설정 (0) | 2022.01.22 |