다음을 통해 공유


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::validCOleDateTimeSpan 개체가 유효하다는 것을 나타냅니다.

  • COleDateTimeSpan::invalidCOleDateTimeSpan 개체가 잘못되었음을 나타냅니다. 즉, 해당 값이 잘못되었을 수 있습니다.

  • COleDateTimeSpan::nullCOleDateTimeSpan 개체가 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::validCOleDateTimeSpan 개체가 유효하다는 것을 나타냅니다.

  • COleDateTimeSpan::invalidCOleDateTimeSpan 개체가 잘못되었음을 나타냅니다. 즉, 해당 값이 잘못되었을 수 있습니다.

  • COleDateTimeSpan::nullCOleDateTimeSpan 개체가 null임을 나타냅니다. 즉, 이 개체에 대한 값이 제공되지 않았습니다. (C++ NULL과 달리 데이터베이스의 "값 없음"에서 "null"입니다.)

다음과 같은 경우 개체의 COleDateTimeSpan 상태가 잘못되었습니다.

  • 산술 할당 작업 중에 이 개체에 오버플로 또는 언더플로가 발생한 경우( 즉, += -=

  • 이 개체에 잘못된 값이 할당된 경우

  • SetStatus를 사용하여 이 개체의 상태가 명시적으로 유효하지 않은 것으로 설정된 경우

상태를 잘못된 상태로 설정할 수 있는 작업에 대한 자세한 내용은 COleDateTimeSpan::operator +, -COleDateTimeSpan::operator +=, -=를 참조하세요.

주의

이 데이터 멤버는 고급 프로그래밍 상황에 적합합니다. 인라인 멤버 함수 GetStatusSetStatus를 사용해야 합니다. 이 데이터 멤버를 명시적으로 설정하는 방법에 대한 추가 주의 사항은 참조 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::validCOleDateTimeSpan 개체가 유효하다는 것을 나타냅니다.

  • COleDateTimeSpan::invalidCOleDateTimeSpan 개체가 잘못되었음을 나타냅니다. 즉, 해당 값이 잘못되었을 수 있습니다.

  • COleDateTimeSpan::nullCOleDateTimeSpan 개체가 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 공유 클래스