COleDateTimeSpan 클래스
상대 시간, 시간 범위를 나타냅니다.
구문
class COleDateTimeSpan
멤버
공용 생성자
속성 | 설명 |
---|---|
COleDateTimeSpan::COleDateTimeSpan | COleDateTimeSpan 개체를 생성합니다. |
공용 메서드
이름 | 설명 |
---|---|
COleDateTimeSpan::Format | 개체의 형식이 지정된 문자열 표현을 COleDateTimeSpan 생성합니다. |
COleDateTimeSpan::GetDays | 이 COleDateTimeSpan 개체가 나타내는 범위의 일 부분을 반환합니다. |
COleDateTimeSpan::GetHours | 이 COleDateTimeSpan 개체가 나타내는 범위의 시간 부분을 반환합니다. |
COleDateTimeSpan::GetMinutes | 이 COleDateTimeSpan 개체가 나타내는 범위의 분 부분을 반환합니다. |
COleDateTimeSpan::GetSeconds | 이 COleDateTimeSpan 개체가 나타내는 범위의 두 번째 부분을 반환합니다. |
COleDateTimeSpan::GetStatus | 이 COleDateTimeSpan 개체의 상태(유효성)를 가져옵니다. |
COleDateTimeSpan::GetTotalDays | 이 COleDateTimeSpan 개체가 나타내는 일 수를 반환합니다. |
COleDateTimeSpan::GetTotalHours | 이 COleDateTimeSpan 개체가 나타내는 시간을 반환합니다. |
COleDateTimeSpan::GetTotalMinutes | 이 COleDateTimeSpan 개체가 나타내는 시간(분)을 반환합니다. |
COleDateTimeSpan::GetTotalSeconds | 이 COleDateTimeSpan 개체가 나타내는 시간(초)을 반환합니다. |
COleDateTimeSpan::SetDateTimeSpan | 이 COleDateTimeSpan 개체의 값을 설정합니다. |
COleDateTimeSpan::SetStatus | 이 COleDateTimeSpan 개체의 상태(유효성)를 설정합니다. |
Public 연산자
속성 | 설명 |
---|---|
연산자 +, - | 값에 대한 COleDateTimeSpan 기호를 추가, 빼기 및 변경합니다. |
연산자 +=, -= | 이 COleDateTimeSpan 값에서 값을 추가하고 뺍니다COleDateTimeSpan . |
연산자 = | 값을 복사합니다 COleDateTimeSpan . |
operator ==, <, <= | 두 COleDateTimeSpan 값을 비교합니다. |
operator double | 이 COleDateTimeSpan 값을 double .로 변환합니다. |
공용 데이터 멤버
속성 | 설명 |
---|---|
COleDateTimeSpan::m_span | 이 COleDateTimeSpan 개체의 내부 double 를 포함합니다. |
COleDateTimeSpan::m_status | 이 COleDateTimeSpan 개체의 상태를 포함합니다. |
설명
COleDateTimeSpan
에는 기본 클래스가 없습니다.
A는 COleDateTimeSpan
며칠 동안 시간을 유지합니다.
COleDateTimeSpan
는 해당 도우미 클래스 COleDateTime과 함께 사용됩니다. COleDateTime
는 OLE 자동화의 DATE
데이터 형식을 캡슐화합니다. COleDateTime
는 절대 시간 값을 나타냅니다. 모든 COleDateTime
계산에는 값이 포함됩니다 COleDateTimeSpan
. 이러한 클래스 간의 관계는 CTime과 CTimeSpan 간의 관계와 유사합니다.
및 COleDateTimeSpan
클래스에 대한 COleDateTime
자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.
요구 사항
헤더: ATLComTime.h
COleDateTimeSpan 관계형 연산자
비교 연산자입니다.
bool operator==(const COleDateTimeSpan& dateSpan) const throw();
bool operator!=(const COleDateTimeSpan& dateSpan) const throw();
bool operator<(const COleDateTimeSpan& dateSpan) const throw();
bool operator>(const COleDateTimeSpan& dateSpan) const throw();
bool operator<=(const COleDateTimeSpan& dateSpan) const throw();
bool operator>=(const COleDateTimeSpan& dateSpan) const throw();
매개 변수
dateSpan
비교할 COleDateTimeSpan
입니다.
Return Value
이러한 연산자는 두 날짜/시간 범위 값을 비교하고 조건이 true이면 TRUE를 반환합니다. 그렇지 않으면 FALSE입니다.
설명
참고 항목
두 피연산자 중 하나가 잘못된 경우 ATLASSERT가 발생합니다.
예시
COleDateTimeSpan spanOne(3, 12, 0, 0); // 3 days and 12 hours
COleDateTimeSpan spanTwo(spanOne); // 3 days and 12 hours
BOOL b;
b = spanOne == spanTwo; // TRUE
b = spanOne < spanTwo; // FALSE, same value
b = spanOne > spanTwo; // FALSE, same value
b = spanOne <= spanTwo; // TRUE, same value
b = spanOne >= spanTwo; // TRUE, same value
spanTwo.SetStatus(COleDateTimeSpan::invalid);
b = spanOne == spanTwo; // FALSE, different status
b = spanOne != spanTwo; // TRUE, different status
COleDateTimeSpan ts1(100.0); // one hundred days
COleDateTimeSpan ts2(110.0); // ten more days
ASSERT((ts1 != ts2) && (ts1 < ts2) && (ts1 <= ts2));
COleDateTimeSpan::COleDateTimeSpan
COleDateTimeSpan
개체를 생성합니다.
COleDateTimeSpan() throw();
COleDateTimeSpan(double dblSpanSrc) throw();
COleDateTimeSpan(LONG lDays, int nHours, int nMins, int nSecs) throw();
매개 변수
dblSpanSrc
새 COleDateTimeSpan
개체에 복사할 일 수입니다.
lDays, nHours, nMins, nSecs
새 COleDateTimeSpan
개체에 복사할 날짜 및 시간 값을 나타냅니다.
설명
이러한 모든 생성자는 지정된 값으로 초기화된 새 COleDateTimeSpan
개체를 만듭니다. 이러한 각 생성자에 대한 간략한 설명은 다음과 같습니다.
COleDateTimeSpan( ) 0으로
COleDateTimeSpan
초기화된 개체를 생성합니다.COleDateTimeSpan(
dblSpanSrc
) 부동 소수점 값에서 개체를 생성합니다COleDateTimeSpan
.COleDateTimeSpan(
lDays
, ,nHours
,nMins
nSecs
) 지정된 숫자 값으로 초기화된 개체를 생성COleDateTimeSpan
합니다.
새 COleDateTimeSpan
개체의 상태가 유효하도록 설정되어 있습니다.
값의 범위에 대한 COleDateTimeSpan
자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.
예시
COleDateTimeSpan spanOne(2.75); // 2 days and 18 hours
COleDateTimeSpan spanTwo(2, 18, 0, 0); // 2 days and 18 hours
COleDateTimeSpan spanThree(3, -6, 0, 0); // 2 days and 18 hours
COleDateTimeSpan ts1; // Uninitialized time value
COleDateTimeSpan ts2a(ts1); // Copy constructor
COleDateTimeSpan ts2b = ts1; // Copy constructor again
COleDateTimeSpan ts3(100.0); // 100 days
COleDateTimeSpan ts4(0, 1, 5, 12); // 1 hour, 5 minutes, and 12 seconds
COleDateTimeSpan::Format
개체의 형식이 지정된 문자열 표현을 COleDateTimeSpan
생성합니다.
CString Format(LPCTSTR pFormat) const;
CString Format(UINT nID) const;
매개 변수
pFormat
서식 문자열과 printf
유사한 서식 문자열입니다. 백분율(%
) 기호 앞에 오는 서식 지정 코드는 해당 COleDateTimeSpan
구성 요소로 바뀝니다. 서식 문자열의 다른 문자는 반환된 문자열에 변경되지 않고 복사됩니다. 서식 코드 Format
의 값과 의미는 다음과 같습니다.
현재 일의 %H 시간
현재 시간의 %M 분
%S 초(현재 분)
%% 백분율 기호
위에 나열된 4개의 서식 코드는 Format에서 허용하는 유일한 코드입니다.
-
nID
형식 제어 문자열의 리소스 ID입니다.
Return Value
CString
형식이 지정된 날짜/시간 범위 값을 포함하는 A입니다.
설명
이러한 함수를 호출하여 시간 범위 값의 형식이 지정된 표현을 만듭니다. 이 COleDateTimeSpan
개체의 상태가 null이면 반환 값은 빈 문자열입니다. 상태가 잘못된 경우 반환 문자열은 문자열 리소스 IDS_INVALID_DATETIMESPAN 의해 지정됩니다.
이 함수의 양식에 대한 간략한 설명은 다음과 같습니다.
Format( pFormat )
이 양식은 다음과 같이 printf
백분율 기호(%)가 앞에 오는 특수 서식 코드가 포함된 서식 문자열을 사용하여 값의 서식을 지정합니다. 서식 문자열은 함수에 매개 변수로 전달됩니다.
Format( nID )
이 양식은 다음과 같이 printf
백분율 기호(%)가 앞에 오는 특수 서식 코드가 포함된 서식 문자열을 사용하여 값의 서식을 지정합니다. 서식 문자열은 리소스입니다. 이 문자열 리소스의 ID는 매개 변수로 전달됩니다.
예시
// get the current time
COleDateTime tmStart = COleDateTime::GetCurrentTime();
// waste some time
CString str;
::Sleep(3000);
// get the current time again
COleDateTime tmFinish = COleDateTime::GetCurrentTime();
// find the difference
COleDateTimeSpan tmSpan = tmFinish - tmStart;
// tell the user
str = tmSpan.Format(_T("%S seconds elapsed"));
_tprintf_s(_T("%s\n"), (LPCTSTR) str);
COleDateTimeSpan::GetDays
이 날짜/시간 범위 값의 일 부분을 검색합니다.
LONG GetDays() const throw();
Return Value
이 날짜/시간 범위 값의 일 부분입니다.
설명
이 함수의 반환 값은 약 3,615,000에서 3,615,000 사이의 범위입니다.
개체의 COleDateTimeSpan
값을 쿼리하는 다른 함수는 다음 멤버 함수를 참조하세요.
예시
COleDateTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ASSERT(ts.GetDays() == 3);
COleDateTimeSpan::GetHours
이 날짜/시간 범위 값의 시간 부분을 검색합니다.
LONG GetHours() const throw();
Return Value
이 날짜/시간 범위 값의 시간 부분입니다.
설명
이 함수의 반환 값은 23에서 23 사이의 범위입니다.
개체의 COleDateTimeSpan
값을 쿼리하는 다른 함수는 다음 멤버 함수를 참조하세요.
예시
COleDateTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ASSERT(ts.GetHours() == 1);
COleDateTimeSpan::GetMinutes
이 날짜/시간 범위 값의 분 부분을 검색합니다.
LONG GetMinutes() const throw();
Return Value
이 날짜/시간 범위 값의 분 부분입니다.
설명
이 함수의 반환 값은 59에서 59 사이의 범위입니다.
개체의 COleDateTimeSpan
값을 쿼리하는 다른 함수는 다음 멤버 함수를 참조하세요.
예시
COleDateTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ASSERT(ts.GetMinutes() == 5);
COleDateTimeSpan::GetSeconds
이 날짜/시간 범위 값의 두 번째 부분을 검색합니다.
LONG GetSeconds() const throw();
Return Value
이 날짜/시간 범위 값의 초 부분입니다.
설명
이 함수의 반환 값은 59에서 59 사이의 범위입니다.
개체의 COleDateTimeSpan
값을 쿼리하는 다른 함수는 다음 멤버 함수를 참조하세요.
예시
COleDateTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ASSERT(ts.GetSeconds() == 12);
COleDateTimeSpan::GetStatus
이 COleDateTimeSpan
개체의 상태(유효성)를 가져옵니다.
DateTimeSpanStatus GetStatus() const throw();
Return Value
이 COleDateTimeSpan
값의 상태입니다.
설명
반환 값은 클래스 내에서 정의된 열거형 형식으로 COleDateTimeSpan
정의 DateTimeSpanStatus
됩니다.
enum DateTimeSpanStatus{
valid = 0,
invalid = 1,
null = 2,
};
이러한 상태 값에 대한 간략한 설명은 다음 목록을 참조하세요.
COleDateTimeSpan::valid
이COleDateTimeSpan
개체가 유효하다는 것을 나타냅니다.COleDateTimeSpan::invalid
이COleDateTimeSpan
개체가 잘못되었음을 나타냅니다. 즉, 해당 값이 잘못되었을 수 있습니다.COleDateTimeSpan::null
이COleDateTimeSpan
개체가 null임을 나타냅니다. 즉, 이 개체에 대한 값이 제공되지 않았습니다. (C++ NULL과 달리 데이터베이스의 "값 없음"에서 "null"입니다.)
다음과 같은 경우 개체의 COleDateTimeSpan
상태가 잘못되었습니다.
산술 할당 작업 중에 이 개체에 오버플로 또는 언더플로가 발생한 경우( 즉,
+=
-=
이 개체에 잘못된 값이 할당된 경우
이 개체의 상태가 명시적으로 사용 하 여
SetStatus
유효 하지 않은 것으로 설정 된 경우 .
상태를 잘못된 상태로 설정할 수 있는 작업에 대한 자세한 내용은 COleDateTimeSpan::operator +, - 및 COleDateTimeSpan::operator +=, -=를 참조하세요.
값의 범위에 대한 COleDateTimeSpan
자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.
COleDateTimeSpan::GetTotalDays
일 단위로 표현된 이 날짜/시간 범위 값을 검색합니다.
double GetTotalDays() const throw();
Return Value
일 단위로 표현된 이 날짜/시간 범위 값입니다. 이 함수는 double을 반환하도록 프로토타입화되지만 항상 정수 값을 반환합니다.
설명
이 함수의 반환 값은 약 3.65e6에서 3.65e6 사이의 범위입니다.
개체의 COleDateTimeSpan
값을 쿼리하는 다른 함수는 다음 멤버 함수를 참조하세요.
예시
COleDateTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ASSERT(ts.GetTotalDays() == 3);
ASSERT(ts.GetTotalHours() == 73);
ASSERT(ts.GetTotalMinutes() == 4385);
ASSERT(ts.GetTotalSeconds() == 263112);
COleDateTimeSpan::GetTotalHours
시간 단위로 표현된 이 날짜/시간 범위 값을 검색합니다.
double GetTotalHours() const throw();
Return Value
시간 단위로 표현된 이 날짜/시간 범위 값입니다. 이 함수는 double을 반환하도록 프로토타입화되지만 항상 정수 값을 반환합니다.
설명
이 함수의 반환 값은 약 - 8.77e7과 8.77e7 사이의 범위입니다.
개체의 COleDateTimeSpan
값을 쿼리하는 다른 함수는 다음 멤버 함수를 참조하세요.
예시
GetTotalDays에 대한 예제를 참조하세요.
COleDateTimeSpan::GetTotalMinutes
분 단위로 표현된 이 날짜/시간 범위 값을 검색합니다.
double GetTotalMinutes() const throw();
Return Value
분 단위로 표현된 이 날짜/시간 범위 값입니다. 이 함수는 double을 반환하도록 프로토타입화되지만 항상 정수 값을 반환합니다.
설명
이 함수의 반환 값은 약 5.26e9에서 5.26e9 사이의 범위입니다.
개체의 COleDateTimeSpan
값을 쿼리하는 다른 함수는 다음 멤버 함수를 참조하세요.
예시
GetTotalDays에 대한 예제를 참조하세요.
COleDateTimeSpan::GetTotalSeconds
초 단위로 표현된 이 날짜/시간 범위 값을 검색합니다.
double GetTotalSeconds() const throw();
Return Value
초 단위로 표현된 이 날짜/시간 범위 값입니다. 이 함수는 double을 반환하도록 프로토타입화되지만 항상 정수 값을 반환합니다.
설명
이 함수의 반환 값은 약 3.16e11에서 3.16e11 사이의 범위입니다.
개체의 COleDateTimeSpan
값을 쿼리하는 다른 함수는 다음 멤버 함수를 참조하세요.
예시
GetTotalDays에 대한 예제를 참조하세요.
COleDateTimeSpan::m_span
이 COleDateTime
개체의 double
기본 값입니다.
double m_span;
설명
이 값은 날짜/시간 범위를 일 단위로 나타냅니다.
주의
데이터 멤버의 double
값을 변경하면 이 개체의 값이 COleDateTimeSpan
변경됩니다. 이 COleDateTimeSpan
개체의 상태는 변경되지 않습니다.
COleDateTimeSpan::m_status
이 데이터 멤버의 형식은 클래스 내에서 COleDateTimeSpan
정의된 열거형 형식DateTimeSpanStatus
입니다.
DateTimeSpanStatus m_status;
설명
enum DateTimeSpanStatus{
valid = 0,
invalid = 1,
null = 2,
};
이러한 상태 값에 대한 간략한 설명은 다음 목록을 참조하세요.
COleDateTimeSpan::valid
이COleDateTimeSpan
개체가 유효하다는 것을 나타냅니다.COleDateTimeSpan::invalid
이COleDateTimeSpan
개체가 잘못되었음을 나타냅니다. 즉, 해당 값이 잘못되었을 수 있습니다.COleDateTimeSpan::null
이COleDateTimeSpan
개체가 null임을 나타냅니다. 즉, 이 개체에 대한 값이 제공되지 않았습니다. (C++ NULL과 달리 데이터베이스의 "값 없음"에서 "null"입니다.)
다음과 같은 경우 개체의 COleDateTimeSpan
상태가 잘못되었습니다.
산술 할당 작업 중에 이 개체에 오버플로 또는 언더플로가 발생한 경우( 즉,
+=
-=
이 개체에 잘못된 값이 할당된 경우
SetStatus를 사용하여 이 개체의 상태가 명시적으로 유효하지 않은 것으로 설정된 경우
상태를 잘못된 상태로 설정할 수 있는 작업에 대한 자세한 내용은 COleDateTimeSpan::operator +, - 및 COleDateTimeSpan::operator +=, -=를 참조하세요.
주의
이 데이터 멤버는 고급 프로그래밍 상황에 적합합니다. 인라인 멤버 함수 GetStatus 및 SetStatus를 사용해야 합니다. 이 데이터 멤버를 명시적으로 설정하는 방법에 대한 추가 주의 사항은 참조 SetStatus
하세요.
값의 범위에 대한 COleDateTimeSpan
자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.
COleDateTimeSpan::operator =
값을 복사합니다 COleDateTimeSpan
.
COleDateTimeSpan& operator=(double dblSpanSrc) throw();
설명
이 오버로드된 대입 연산자는 원본 날짜/시간 범위 값을 이 COleDateTimeSpan
개체에 복사합니다.
COleDateTimeSpan::operator +, -
값에 대한 COleDateTimeSpan
기호를 추가, 빼기 및 변경합니다.
COleDateTimeSpan operator+(const COleDateTimeSpan& dateSpan) const throw();
COleDateTimeSpan operator-(const COleDateTimeSpan& dateSpan) const throw();
COleDateTimeSpan operator-() const throw();
설명
처음 두 연산자를 사용하면 날짜/시간 범위 값을 추가하고 뺄 수 있습니다. 세 번째에서는 날짜/시간 범위 값의 기호를 변경할 수 있습니다.
피연산자 중 하나가 null이면 결과 COleDateTimeSpan
값의 상태가 null입니다.
피연산자 중 하나가 유효하지 않고 다른 피연산자 중 하나가 null이 아니면 결과 COleDateTimeSpan
값의 상태가 유효하지 않습니다.
유효하고 유효하지 않으며 null 상태 값에 대한 자세한 내용은 m_status 멤버 변수를 참조하세요.
예시
COleDateTimeSpan ts1(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
COleDateTimeSpan ts2(100.0 / (24 * 3600.0)); // 100 seconds
COleDateTimeSpan ts3 = ts1 + ts2;
ASSERT(ts3.GetSeconds() == 52); // 6 mins, 52 secs
COleDateTimeSpan::operator +=, -=
이 COleDateTimeSpan
값에서 값을 추가하고 뺍니다COleDateTimeSpan
.
COleDateTimeSpan& operator+=(const COleDateTimeSpan dateSpan) throw();
COleDateTimeSpan& operator-=(const COleDateTimeSpan dateSpan) throw();
설명
이러한 연산자를 사용하면 이 COleDateTimeSpan
개체에서 날짜/시간 범위 값을 추가하고 뺄 수 있습니다. 피연산자 중 하나가 null이면 결과 COleDateTimeSpan
값의 상태가 null입니다.
피연산자 중 하나가 유효하지 않고 다른 피연산자 중 하나가 null이 아니면 결과 COleDateTimeSpan
값의 상태가 유효하지 않습니다.
유효하고 유효하지 않으며 null 상태 값에 대한 자세한 내용은 m_status 멤버 변수를 참조하세요.
예시
COleDateTimeSpan ts1(10.0); // 10 days
COleDateTimeSpan ts2(100.0); // 100 days
ts2 -= ts1;
ASSERT(ts2.GetTotalDays() == 90);
COleDateTimeSpan::operator double
이 COleDateTimeSpan
값을 double
.로 변환합니다.
operator double() const throw();
설명
이 연산자는 이 COleDateTimeSpan
값의 값을 부동 소수점 일수로 반환합니다.
COleDateTimeSpan::SetDateTimeSpan
이 날짜/시간 범위 값의 값을 설정합니다.
void SetDateTimeSpan(LONG lDays, int nHours, int nMins, int nSecs) throw();
매개 변수
lDays, nHours, nMins, nSecs
이 COleDateTimeSpan
개체에 복사할 날짜 범위 및 시간 범위 값을 나타냅니다.
설명
개체의 COleDateTimeSpan
값을 쿼리하는 함수는 다음 멤버 함수를 참조하세요.
예시
COleDateTimeSpan spanOne;
COleDateTimeSpan spanTwo;
spanOne.SetDateTimeSpan(0, 2, 45, 0); // 2 hours and 45 seconds
spanTwo.SetDateTimeSpan(0, 3, -15, 0); // 2 hours and 45 seconds
COleDateTimeSpan::SetStatus
이 COleDateTimeSpan
개체의 상태(유효성)를 설정합니다.
void SetStatus(DateTimeSpanStatus status) throw();
매개 변수
status
이 COleDateTimeSpan
개체의 새 상태 값입니다.
설명
Status 매개 변수 값은 클래스 내에서 정의된 열거형 형식으로 COleDateTimeSpan
정의 DateTimeSpanStatus
됩니다.
enum DateTimeSpanStatus{
valid = 0,
invalid = 1,
null = 2,
};
이러한 상태 값에 대한 간략한 설명은 다음 목록을 참조하세요.
COleDateTimeSpan::valid
이COleDateTimeSpan
개체가 유효하다는 것을 나타냅니다.COleDateTimeSpan::invalid
이COleDateTimeSpan
개체가 잘못되었음을 나타냅니다. 즉, 해당 값이 잘못되었을 수 있습니다.COleDateTimeSpan::null
이COleDateTimeSpan
개체가 null임을 나타냅니다. 즉, 이 개체에 대한 값이 제공되지 않았습니다. (C++ NULL과 달리 데이터베이스의 "값 없음"에서 "null"입니다.)주의
이 함수는 고급 프로그래밍 상황에 적합합니다. 이 함수는 이 개체의 데이터를 변경하지 않습니다. 상태를 null 또는 유효하지 않은 상태로 설정하는 데 가장 자주 사용됩니다. 대입 연산자(연산자 =) 및 SetDateTimeSpan 은 원본 값에 따라 개체의 상태를 설정합니다.
예시
// if the person is not still in school, set days to graduation to null
if (!m_bStillInSchool || m_dtDateOfGraduation.GetStatus() == COleDateTime::null)
m_dtsDaysToGraduation.SetStatus(COleDateTimeSpan::null);
참고 항목
COleDateTime 클래스
CTime 클래스
CTimeSpan 클래스
계층 구조 차트
ATL/MFC 공유 클래스