ASP 날짜 의 가감 연산 실현 코드

4109 단어 날짜.가감 연산
예 를 들 어 2007-10-12 에서 2007-10-31 사이 에 사이트 에 등 록 된 회원 을 찾 아 날 짜 를 선택 한 후'조회'버튼 을 누 르 면 2007-10-31 에 등 록 된 회원 의 정보 가 전혀 나타 나 지 않 고 몇 차례 시험 한 결과 모두 같다.디 버 깅 프로그램 은 SQL 구문 에 문제 가 생 겼 음 을 발견 했다.SQL 문 구 는 다음 과 같 습 니 다:SELECT*FROM userinfo WHERE regtime>='2007-10-12'AND regtime<='2007-10-31'.처음에는 이 SQL 문 구 는 잘못 되 지 않 았 지만 데이터베이스 에 저 장 된 필드 의 값 을 대조 한 결과 저 장 된 값 은 간단 한 날짜 형식 이 아니 라 날짜+시간의 형식 임 을 발견 했다.즉,yyy-MM-dd HH:mm:ss 이다.이때 SQL 문 구 는 regtime 과'2007-10-31'의 큰 시간 을 판단 하고'2007-10-31'이 불완전 하 다 고 생각 할 것 이다.그래서 이 두 값 이 같다 고 생각 하지 않 을 겁 니 다.이거 어 떡 하지?조급해 하지 마 세 요.ASP 는 우리 에 게 날짜 가감 함 수 를 제공 하여 이 문 제 를 해결 해 주 었 습 니 다.1.날짜 에 DateAdd 함 수 를 더 하면 지정 한 시간 간격 이 추 가 된 날 짜 를 되 돌려 줍 니 다.DateAdd(interval,number,date)DateAdd 함수 의 문법 은 다음 과 같은 인자(1)interval 필수 옵션 이 있 습 니 다.문자열 표현 식 은 추가 할 시간 간격 을 표시 합 니 다.관련 수 치 는"설정"부분 을 참조 하 십시오.(2)number 필수 옵션.수치 표현 식 은 추가 할 시간 간격 을 나타 내 는 개수 입 니 다.수치 표현 식 은 양수(미래의 날 짜 를 얻 는 것)나 음수(과거의 날 짜 를 얻 는 것)일 수 있 습 니 다.(3)date 필수 옵션.Variant 또는 interval 의 날 짜 를 표시 하 는 텍스트 를 추가 합 니 다.interval 매개 변 수 를 설정 하면 다음 과 같은 값 을 가 질 수 있 습 니 다.yyy 년 q 분기 m 월 y 1 년 의 일수 d 일 w 일주일 의 일수 ww 주 h 시간 을 설정 합 니 다.분 s 초 는 DateAdd 함 수 를 사용 하여 날짜 에서 지정 한 시간 간격 을 추가 하거나 빼 는 것 을 설명 합 니 다.예 를 들 어 DateAdd 를 사용 하여 당일 부터 30 일 이후 의 날 짜 를 계산 하거나 지금부터 45 분 이후 의 시간 을 계산 할 수 있다.날짜 에'일'단위 의 시간 간격 을 추가 하려 면'1 년 의 일수'('y'),'일'('d')또는'일주일 의 일수'('w')를 사용 할 수 있 습 니 다.DateAdd 함 수 는 잘못된 날 짜 를 되 돌려 주지 않 습 니 다.다음 예제 에 서 는 95 년 1 월 31 일 에 한 달 을 더 합 니 다.NewDate=DateAdd("m",1,"31-Jan-95")는 이 예제 에서 DateAdd 는 95 년 2 월 28 일이 아니 라 95 년 2 월 31 일 로 돌아 갑 니 다.날짜 가 96 년 1 월 31 일이 면 96 년 2 월 29 일 로 돌아 가 는 것 은 1996 년 이 윤년 이기 때문이다.계산 날짜 가 서기 100 년 전이 라면 오류 가 발생 할 수 있다.만약 number 가 Long 형 값 이 아니라면,계산 하기 전에 반올림 이 가장 가 까 운 정수 이다.2.날짜 상쇄 DateDiff 함 수 는 두 날짜 사이 의 시간 간격 을 되 돌려 줍 니 다.DateDiff(interval,date 1,date 2[,firstdayofweek[,firstweekofyear]])DateDiff 함수 의 문법 은 다음 과 같은 인자 가 있 습 니 다.(1)interval 필수 옵션 입 니 다.문자열 표현 식 은 date 1 과 date 2 사이 의 시간 간격 을 계산 하 는 데 사 용 됩 니 다.관련 수 치 는"설정"부분 을 참조 하 십시오.(2)date 1,date 2 필수 옵션.날짜 표현 식.계산 에 사용 할 두 날짜.(3)First day of week 를 선택 할 수 있 습 니 다.주 중 첫날 의 상 수 를 지정 하 다.지정 되 지 않 으 면 기본적으로 일요일 입 니 다.관련 수 치 는"설정"부분 을 참조 하 십시오.(4)Firstweekofyear 옵션 이 있 습 니 다.1 년 중 첫째 주의 상 수 를 지정 하 다.지정 되 지 않 으 면 1 월 1 일이 있 는 요일 을 기본 으로 합 니 다.관련 수 치 는"설정"부분 을 참조 하 십시오.interval 매개 변 수 를 설정 하면 다음 과 같은 값 을 가 질 수 있 습 니 다.yyy 년 q 분기 m 월 y 1 년 의 일수 d 일 w 일주일 의 일수 ww 를 설정 합 니 다.주 h 시간 n 분 s 초 firstdayofweek 인 자 는 다음 과 같은 값 을 가 질 수 있 습 니 다.상수 값 설명 vbUseSystem 0 은 지역 언어 지원(NLS)API 설정 을 사용 합 니 다.vbSunday 1 일요일(기본 값)vbMonday 2 월요일 vbTuesday 3 화요일 vbWednesday 4 수요일 vbThursday 5 성기간 4 vbFriday 6 금요일 vbSaturday 7 토요일 firstweekofyear 매개 변 수 는 다음 과 같은 값 을 가 질 수 있 습 니 다.상수 값 설명 vbUseSystem 0 사용 지역 언어(NLS)API 설정 을 지원 합 니 다.vbFirst Jan 1 은 1 월 1 일이 있 는 요일 부터 시작 합 니 다(기본 값).vb First FourDays 2 는 새해 중 적어도 나 흘 의 첫 주부 터 시작한다.vbFirst Full Week 3 는 새해 첫 번 째 완전한 주부 터 시작한다.DateDiff 함 수 는 두 날짜 사이 에 존재 하 는 지 정 된 시간 간격의 수 를 판단 하 는 데 사 용 됩 니 다.예 를 들 어 DateDiff 를 사용 하여 두 날짜 의 차이 일 수 를 계산 하거나 당일 에서 그해 마지막 날 사이 의 주 수 를 계산 할 수 있다.date 1 과 date 2 의 차 이 를 계산 하려 면'1 년 의 일수'('y')나'일'('d')을 사용 할 수 있다.interval 이'일주일 의 일수'('w')일 때 DateDiff 는 두 날짜 사이 의 요일 을 되 돌려 줍 니 다.date 1 이 월요일 이 라면 dateDiff 는 date 2 이전 월요일 의 수 를 계산한다.이 결 과 는 date 2 를 포함 하고 date 1 을 포함 하지 않 습 니 다.interval 이"주"("ww")라면 DateDiff 함 수 는 달력 표 의 두 날짜 사이 의 주 수 를 되 돌려 줍 니 다.함수 계산 date 1 과 date 2 사이 일요일 의 수 입 니 다.date 2 가 일요일 이 라면 dateDiff 는 date 2 를 계산 하지만 date 1 이 일요일 이 라 고 해도 date 1 을 계산 하지 않 는 다.date 1 이 date 2 보다 늦 으 면 DateDiff 함수 가 마이너스 로 돌아 갑 니 다.firstdayofweek 인 자 는'w'와'ww'간격 기 호 를 사용 하 는 계산 에 영향 을 줄 수 있 습 니 다.date 1 이나 date 2 가 날짜 문자 라면 지정 한 연 도 는 날짜 의 고정 부분 이 됩 니 다.그러나 date 1 이나 date 2 가 따옴표(")에 포함 되 고 연 도 를 생략 하면 코드 에서 date 1 이나 date 2 표현 식 을 계산 할 때마다 현재 연 도 를 삽입 합 니 다.이렇게 하면 서로 다른 연도 에 적용 되 는 프로그램 코드 를 작성 할 수 있다.interval 이'년'(yyy y)일 때 12 월 31 일과 내년 1 월 1 일 을 비교 해 보면 사실상 하루 차이 지만,DateDiff 가 1 로 돌아 오 는 것 은 1 년 차 임 을 나타 낸다.

좋은 웹페이지 즐겨찾기