다음을 통해 공유


COleDateTime 클래스

OLE 자동화에 DATE 사용되는 데이터 형식을 캡슐화합니다.

구문

class COleDateTime

멤버

공용 생성자

속성 설명
COleDateTime::COleDateTime COleDateTime 개체를 생성합니다.

공용 메서드

이름 설명
COleDateTime::Format 개체의 형식이 지정된 문자열 표현을 COleDateTime 생성합니다.
COleDateTime::GetAsDBTIMESTAMP 이 메서드를 호출하여 개체의 COleDateTime 시간을 데이터 구조로 DBTIMESTAMP 가져옵니다.
COleDateTime::GetAsSystemTime 이 메서드를 호출하여 개체의 COleDateTime 시간을 SYSTEMTIME 데이터 구조로 가져옵니다.
COleDateTime::GetAsUDATE 이 메서드를 호출하여 데이터 구조로 UDATE 시간을 COleDateTime 가져옵니다.
COleDateTime::GetCurrentTime COleDateTime 현재 시간(정적 멤버 함수)을 나타내는 개체를 만듭니다.
COleDateTime::GetDay COleDateTime 개체가 나타내는 날짜(1 - 31)를 반환합니다.
COleDateTime::GetDayOfWeek COleDateTime 개체가 나타내는 요일을 반환합니다(일요일 = 1).
COleDateTime::GetDayOfYear COleDateTime 개체가 나타내는 연도의 일(Jan 1 = 1)을 반환합니다.
COleDateTime::GetHour COleDateTime 개체가 나타내는 시간(0 - 23)을 반환합니다.
COleDateTime::GetMinute COleDateTime 개체가 나타내는 분을 반환합니다(0 - 59).
COleDateTime::GetMonth COleDateTime 개체가 나타내는 월을 반환합니다(1 - 12).
COleDateTime::GetSecond COleDateTime 개체가 나타내는 두 번째 개체를 반환합니다(0 - 59).
COleDateTime::GetStatus COleDateTime 개체의 상태(유효성)를 가져옵니다.
COleDateTime::GetYear COleDateTime 개체가 나타내는 연도를 반환합니다.
COleDateTime::P arseDateTime 문자열에서 날짜/시간 값을 읽고 값을 COleDateTime설정합니다.
COleDateTime::SetDate COleDateTime 개체의 값을 지정된 날짜 전용 값으로 설정합니다.
COleDateTime::SetDateTime COleDateTime 개체의 값을 지정된 날짜/시간 값으로 설정합니다.
COleDateTime::SetStatus COleDateTime 개체의 상태(유효성)를 설정합니다.
COleDateTime::SetTime COleDateTime 개체의 값을 지정된 시간 전용 값으로 설정합니다.

Public 연산자

속성 설명
COleDateTime::operator ==, COleDateTime::operator <등 COleDateTime 값을 비교합니다.
COleDateTime::operator +, COleDateTime::operator - 값을 추가하고 뺍니다 COleDateTime .
COleDateTime::operator +=, COleDateTime::operator -= COleDateTime 개체에서 값을 추가하고 뺍니다COleDateTime.
COleDateTime::operator = 값을 복사합니다 COleDateTime .
COleDateTime::operator DATE, COleDateTime::operator Date* 값을 a COleDateTime 또는 DATE*a DATE 로 변환합니다.

공용 데이터 멤버

속성 설명
COleDateTime::m_dt COleDateTime 개체의 내부 DATE 를 포함합니다.
COleDateTime::m_status COleDateTime 개체의 상태를 포함합니다.

설명

COleDateTime 에는 기본 클래스가 없습니다.

OLE 자동화의 VARIANT 데이터 형식에 사용할 수 있는 형식 중 하나입니다. 값은 COleDateTime 절대 날짜 및 시간 값을 나타냅니다.

형식은 DATE 부동 소수점 값으로 구현됩니다. 일수는 1899년 12월 30일 자정부터 측정됩니다. 다음 표에서는 일부 날짜 및 해당 관련 값을 보여 있습니다.

날짜
1899년 12월 29일 자정 -1.0
1899년 12월 29일 오전 6시 -1.25
1899년 12월 30일 자정 0.0
1899년 12월 31일 자정 1.0
1900년 1월 1일 오전 6시 2.25

주의

위의 표에서 일 값은 1899년 12월 30일 자정 이전에 음수가 되지만 하루 중 시간 값은 그렇지 않습니다. 예를 들어 오전 6:00은 요일을 나타내는 정수가 양수인지(1899년 12월 30일 이후) 또는 음수(1899년 12월 30일 이전)인지에 관계없이 항상 소수 값 0.25로 표시됩니다. 즉, 단순 부동 소수점 비교는 1899년 12월 29일 오전 6:00을 나타내는 것을 같은 날 오전 7:00을 나타내는 것보다 늦게 정렬 COleDateTime 합니다.

수업은 COleDateTime 100년 1월 1일부터 9999년 12월 31일까지의 날짜를 처리합니다. 클래스는 COleDateTime 그레고리오력(Gregorian Calendar)을 사용하며 줄리안 날짜는 지원하지 않습니다. COleDateTime 는 일광 절약 시간을 무시합니다. (참조) 날짜 및 시간: Automation 지원.)

참고 항목

이 형식을 %y 사용하여 1900년부터 시작하는 날짜에 대해서만 두 자리 연도를 검색할 수 있습니다. 1900 이전 날짜에 형식을 사용하는 %y 경우 코드는 ASSERT 오류를 생성합니다.

이 형식은 날짜 전용 또는 시간 전용 값을 나타내는 데도 사용됩니다. 규칙에 따라 날짜 0(1899년 12월 30일)은 시간 전용 값에 사용되고 날짜 전용 값에는 00:00(자정)이 사용됩니다.

100 미만의 날짜를 사용하여 개체를 만드는 COleDateTime 경우 날짜가 수락되지만 , 및 실패 및 GetSecond 반환 -1에 대한 GetMinuteGetYearGetMonthGetDayGetHour후속 호출이 허용됩니다. 이전에는 두 자리 날짜를 사용할 수 있었지만 MFC 4.2 이상에서는 날짜가 100 이상이어야 합니다.

문제를 방지하려면 4자리 날짜를 지정합니다. 예시:

COleDateTime mytime(1996, 1, 1, 0, 0, 0); 

값에 대한 기본 산술 연산은 COleDateTime 도우미 클래스 COleDateTimeSpan을 사용합니다. COleDateTimeSpan 값은 시간 간격을 정의합니다. 이러한 클래스 간의 관계는 CTime과 CTimeSpan 간의 관계와 비슷합니다.

및 클래스에 COleDateTime 대한 자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조 COleDateTimeSpan 하세요.

요구 사항

헤더: ATLComTime.h

COleDateTime 관계형 연산자

비교 연산자입니다.

bool operator==(const COleDateTime& date) const throw();
bool operator!=(const COleDateTime& date) const throw();
bool operator<(const COleDateTime& date) const throw();
bool operator>(const COleDateTime& date) const throw();
bool operator<=(const COleDateTime& date) const throw();
bool operator>=(const COleDateTime& date) const throw();

매개 변수

date
비교할 COleDateTime 개체입니다.

설명

참고 항목

두 피연산자 중 하나가 잘못된 경우 ATLASSERT가 발생합니다.

예제

COleDateTime dateOne(1995, 3, 15, 12, 0, 0); // 15 March 1995 12 noon
COleDateTime dateTwo(dateOne);             // 15 March 1995 12 noon
BOOL b;
b = dateOne == dateTwo;                    // TRUE
b = dateOne < dateTwo;                     // FALSE, same value
b = dateOne > dateTwo;                     // FALSE, same value
b = dateOne <= dateTwo;                    // TRUE, same value
b = dateOne >= dateTwo;                    // TRUE, same value   

dateTwo.SetStatus(COleDateTime::invalid);
b = dateOne == dateTwo;                    // FALSE, different status
b = dateOne != dateTwo;                    // TRUE, different status

개체가 null로 설정된 경우 COleDateTime =, <=, ><, 연산>자가 어설션됩니다.

VARIANT v = {};
v.vt = VT_NULL;
COleDateTime t1(v);
COleDateTime t2(v);
t1 = t1 + t2;

COleDateTime::COleDateTime

COleDateTime 개체를 생성합니다.

COleDateTime() throw();
COleDateTime(const VARIANT& varSrc) throw();
COleDateTime(DATE dtSrc) throw();
COleDateTime(time_t timeSrc) throw();
COleDateTime(__time64_t timeSrc) throw();
COleDateTime(const SYSTEMTIME& systimeSrc) throw();
COleDateTime(const FILETIME& filetimeSrc) throw();

COleDateTime(int nYear,
    int nMonth,
    int nDay,
    int nHour,
    int nMin,
    int nSec) throw();

COleDateTime(WORD wDosDate,
    WORD wDosTime) throw();
COleDateTime(const DBTIMESTAMP& timeStamp) throw();

매개 변수

dateSrc
COleDateTime 개체에 복사할 기존 COleDateTime 개체입니다.

varSrc
날짜/시간 값(VT_DATE)으로 변환하고 새 COleDateTime 개체에 복사할 기존 VARIANT 데이터 구조(개체일 수 있음COleVariant)입니다.

dtSrc
COleDateTime 개체에 복사할 날짜/시간(DATE) 값입니다.

timeSrc
날짜/시간 값으로 변환하여 새 COleDateTime 개체에 복사할 값 또는 __time64_t A time_t 입니다.

systimeSrc
SYSTEMTIME 날짜/시간 값으로 변환하고 새 COleDateTime 개체에 복사할 구조체입니다.

filetimeSrc
FILETIME 날짜/시간 값으로 변환하고 새 COleDateTime 개체에 복사할 구조체입니다. A는 FILETIME UTC(Universal Coordinated Time)를 사용하므로 구조에서 현지 시간을 통과하면 결과가 올바르지 않습니다. 자세한 내용은 Windows SDK의 파일 시간을 참조하세요.

nYear, nMonth, nDay, nHour, nMin, nSec
COleDateTime 개체에 복사할 날짜 및 시간 값을 나타냅니다.

wDosDate, wDosTime
날짜/시간 값으로 변환하고 새 COleDateTime 개체에 복사할 MS-DOS 날짜 및 시간 값입니다.

타임 스탬프
현재 현지 시간을 포함하는 DBTimeStamp 구조체에 대한 참조입니다.

설명

이러한 모든 생성자는 지정된 값으로 초기화된 새 COleDateTime 개체를 만듭니다. 다음 표에서는 각 날짜 및 시간 구성 요소에 대한 유효한 범위를 보여 줍니다.

날짜/시간 구성 요소 유효 범위
연도 100 - 9999
month 0 - 12
0 - 31
hour 0 - 23
minute 0 - 59
second 0 - 59

일 구성 요소의 실제 상한은 월 및 연도 구성 요소에 따라 달라집니다. 자세한 내용은 멤버 함수 또는 SetDateTime 멤버 함수를 SetDate 참조하세요.

다음은 각 생성자에 대한 간략한 설명입니다.

  • COleDateTime() 0으로 초기화된 개체를 생성합니다COleDateTime(1899년 12월 30일 자정).

  • COleDateTime(dateSrc ) COleDateTime 기존 COleDateTime 개체에서 개체를 생성합니다.

  • COleDateTime(varSrc ) 개체를 COleDateTime 생성합니다. 구조체 또는 COleVariant 개체를 VARIANT 날짜/시간(VT_DATE) 값으로 변환하려고 시도합니다. 이 변환에 성공하면 변환된 값이 새 COleDateTime 개체로 복사됩니다. 그렇지 않으면 개체의 COleDateTime 값이 0(1899년 12월 30일 자정)으로 설정되고 해당 상태가 유효하지 않습니다.

  • COleDateTime(dtSrc ) 값에서 COleDateTime 개체를 DATE 생성합니다.

  • COleDateTime(timeSrc ) 값에서 COleDateTime 개체를 time_t 생성합니다.

  • COleDateTime(systimeSrc ) 값에서 COleDateTime 개체를 SYSTEMTIME 생성합니다.

  • COleDateTime(filetimeSrc ) 값에서 COleDateTime 개체를 FILETIME 생성합니다. . A는 FILETIME UTC(Universal Coordinated Time)를 사용하므로 구조에서 현지 시간을 통과하면 결과가 올바르지 않습니다. 자세한 내용은 Windows SDK의 파일 시간을 참조하세요.

  • COleDateTime(nYear, nMonth, nDay, nHour, nMin) nSec 지정된 숫자 값에서 개체를 생성 COleDateTime 합니다.

  • COleDateTime(wDosDate, wDosTime ) COleDateTime 지정된 MS-DOS 날짜 및 시간 값에서 개체를 생성합니다.

데이터 형식에 대한 time_t 자세한 내용은 런타임 라이브러리 참조의 시간 함수를 참조하세요.

자세한 내용은 Windows SDK의 SYSTEMTIMEFILETIME 구조를 참조하세요.

값의 범위에 대한 COleDateTime 자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.

참고 항목

매개 변수를 사용하는 DBTIMESTAMP 생성자는 OLEDB.h가 포함된 경우에만 사용할 수 있습니다.

예시

time_t osBinaryTime;   // C run-time time (defined in <time.h>)
time(&osBinaryTime);   // Get the current time from the 
                     // operating system.

COleDateTime time1;   // initialized to 00:00am, 30 December 1899
                     // (and m_nStatus is valid!)

COleDateTime time2 = time1; // Copy constructor
COleDateTime time3(osBinaryTime);   // from time_t
COleDateTime time4(1999, 3, 19, 22, 15, 0); // 10:15PM March 19, 1999

SYSTEMTIME sysTime;   // Win32 time information
GetSystemTime(&sysTime);

COleDateTime time5(sysTime);    

COleDateTime::Format

날짜/시간 값의 형식이 지정된 표현을 만듭니다.

CString Format(DWORD dwFlags = 0,  LCID lcid = LANG_USER_DEFAULT) const;
CString Format(LPCTSTR lpszFormat) const;
CString Format(UINT nFormatID) const;

매개 변수

dwFlags
다음 로캘 플래그 중 하나를 나타냅니다.

  • LOCALE_NOUSEROVERRIDE 사용자 지정 사용자 설정 대신 시스템 기본 로캘 설정을 사용합니다.

  • VAR_TIMEVALUEONLY 구문 분석 중에 날짜 부분을 무시합니다.

  • VAR_DATEVALUEONLY 구문 분석하는 동안 시간 부분을 무시합니다.

lcid
변환에 사용할 로캘 ID를 나타냅니다. 언어 식별자에 대한 자세한 내용은 언어 식별자를 참조 하세요.

lpszFormat
서식 문자열과 printf 유사한 서식 문자열입니다. 백분율( %) 기호 앞에 오는 각 서식 코드는 해당 COleDateTime 구성 요소로 바뀝니다. 서식 문자열의 다른 문자는 반환된 문자열에 변경되지 않고 복사됩니다. 자세한 내용은 런타임 함수 strftime을 참조하세요. 서식 코드의 값과 의미는 다음과 같습니다.Format

  • %H 현재 날짜의 시간

  • %M 현재 시간의 분

  • %S 현재 분 단위의 초

  • %% 백분율 기호

nFormatID
형식 제어 문자열의 리소스 ID입니다.

Return Value

CString 형식이 지정된 날짜/시간 값을 포함하는 A입니다.

설명

COleDateTime 개체의 상태가 null이면 반환 값은 빈 문자열입니다. 상태가 잘못된 경우 반환 문자열은 문자열 리소스 ATL_IDS_DATETIME_INVALID 의해 지정됩니다.

이 함수에 대한 세 가지 양식에 대한 간략한 설명은 다음과 같습니다.

Format( dwFlags, lcid)
이 양식은 날짜 및 시간에 대한 언어 사양(로캘 ID)을 사용하여 값의 서식을 지정합니다. 기본 매개 변수를 사용하면 시간 부분이 0(자정)이 아니면 날짜와 시간을 인쇄합니다. 이 경우 날짜 부분만 인쇄하거나 날짜 부분이 0(1899년 12월 30일)이면 시간만 인쇄됩니다. 날짜/시간 값이 0(1899년 12월 30일, 자정)인 경우 기본 매개 변수가 있는 이 양식은 자정에 인쇄됩니다.

Format( lpszFormat)
이 양식은 다음과 같이 printf백분율 기호(%)가 앞에 오는 특수 서식 코드가 포함된 형식 문자열을 사용하여 값의 서식을 지정합니다. 서식 문자열은 함수에 매개 변수로 전달됩니다. 서식 코드 에 대한 자세한 내용은 런타임 라이브러리 참조의 strftime, wcsftime 을 참조하세요.

Format( nFormatID)
이 양식은 다음과 같이 printf백분율 기호(%)가 앞에 오는 특수 서식 코드가 포함된 형식 문자열을 사용하여 값의 서식을 지정합니다. 서식 문자열은 리소스입니다. 이 문자열 리소스의 ID는 매개 변수로 전달됩니다. 서식 코드에 대한 자세한 내용은 런타임 라이브러리 참조의 strftime, wcsftime을 참조하세요.

예시

COleDateTime t(1999, 3, 19, 22, 15, 0);

CString str = t.Format(_T("%A, %B %d, %Y"));
ASSERT(str == _T("Friday, March 19, 1999"));   

COleDateTime::GetAsDBTIMESTAMP

이 메서드를 호출하여 개체의 COleDateTime 시간을 데이터 구조로 DBTIMESTAMP 가져옵니다.

bool GetAsDBTIMESTAMP(DBTIMESTAMP& timeStamp) const throw();

매개 변수

타임 스탬프
DBTimeStamp 구조체에 대한 참조입니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

결과 시간을 참조된 timeStamp 구조에 저장합니다. DBTIMESTAMP 이 함수에 의해 초기화된 데이터 구조에는 해당 멤버가 fraction 0으로 설정됩니다.

예시

COleDateTime t = COleDateTime::GetCurrentTime();
DBTIMESTAMP ts;
t.GetAsDBTIMESTAMP(ts); // retrieves the time in t into the ts structure

COleDateTime::GetAsSystemTime

이 메서드를 호출하여 개체의 COleDateTime 시간을 데이터 구조로 SYSTEMTIME 가져옵니다.

bool GetAsSystemTime(SYSTEMTIME& sysTime) const throw();

매개 변수

sysTime
개체에서 변환된 날짜/시간 값을 받는 SYSTEMTIME 구조체에 대한 COleDateTime 참조입니다.

Return Value

성공하면 TRUE를 반환합니다. 변환에 실패하거나 개체가 COleDateTime NULL이거나 잘못된 경우 FALSE입니다.

설명

GetAsSystemTime 는 참조된 sysTime 개체에 결과 시간을 저장합니다. SYSTEMTIME 이 함수에 의해 초기화된 데이터 구조에는 해당 멤버가 wMilliseconds 0으로 설정됩니다.

개체에 보관된 상태 정보에 대한 자세한 내용은 GetStatusCOleDateTime 참조하세요.

COleDateTime::GetAsUDATE

이 메서드를 호출하여 개체의 COleDateTime 시간을 데이터 구조로 UDATE 가져옵니다.

bool GetAsUDATE(UDATE& uDate) const throw();

매개 변수

uDate
개체에서 변환된 날짜/시간 값을 받는 구조체에 대한 COleDateTime 참조 UDATE 입니다.

Return Value

성공하면 TRUE를 반환합니다. 변환에 실패하거나 개체가 COleDateTime NULL이거나 잘못된 경우 FALSE입니다.

설명

구조체 UDATE 는 "압축 해제" 날짜를 나타냅니다.

COleDateTime::GetCurrentTime

현재 날짜/시간 값을 반환하려면 이 정적 멤버 함수를 호출합니다.

static COleDateTime WINAPI GetCurrentTime() throw();

예시

// example for COleDateTime::GetCurrentTime
COleDateTime dateTest;
   // dateTest value = midnight 30 December 1899

dateTest = COleDateTime::GetCurrentTime();
   // dateTest value = current date and time

// a second example for COleDateTime::GetCurrentTime
// Since GetCurrentTime() is a static member, you can use it in
// a constructor:

COleDateTime t1 = COleDateTime::GetCurrentTime();
COleDateTime t2(COleDateTime::GetCurrentTime());

// Or in a normal assignment operator

COleDateTime t3;
t3 = COleDateTime::GetCurrentTime();

// or even in an expression

 if (COleDateTime::GetCurrentTime().GetDayOfWeek() == 6)
    _tprintf(_T("Thank Goodness it is Friday!\n\n"));   

COleDateTime::GetDay

이 날짜/시간 값으로 표시되는 월의 날짜를 가져옵니다.

int GetDay() const throw();

Return Value

COleDateTime 개체의 값으로 표시되는 월의 날짜이거나 COleDateTime::error 해당 일을 가져올 수 없는 경우입니다.

설명

유효한 반환 값 범위는 1에서 31 사이입니다.

COleDateTime 개체의 값을 쿼리하는 다른 멤버 함수에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.

예시

COleDateTime t(1999, 3, 19, 22, 15, 0);  // 10:15PM March 19, 1999
ASSERT(t.GetDay() == 19);
ASSERT(t.GetMonth() == 3);
ASSERT(t.GetYear() == 1999);   

COleDateTime::GetDayOfWeek

이 날짜/시간 값으로 표시되는 요일을 가져옵니다.

int GetDayOfWeek() const throw();

Return Value

COleDateTime 개체의 값으로 표시되는 요일 또는 COleDateTime::error 요일을 가져올 수 없는 경우입니다.

설명

유효한 반환 값 범위는 1에서 7 사이이며 여기서 1=일요일, 2=월요일 등입니다.

COleDateTime 개체의 값을 쿼리하는 다른 멤버 함수에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.

예시

COleDateTime t(1999, 3, 19, 22, 15, 0); // 10:15PM March 19, 1999
ASSERT(t.GetDayOfWeek() == 6);          // it's a Friday   

COleDateTime::GetDayOfYear

이 날짜/시간 값으로 표시되는 연도의 날짜를 가져옵니다.

int GetDayOfYear() const throw();

Return Value

COleDateTime 개체의 값으로 표시되는 연도의 날짜이거나 COleDateTime::error 해당 연도의 날을 가져올 수 없는 경우입니다.

설명

유효한 반환 값 범위는 1에서 366 사이이며, 여기서 1월 1일은 1입니다.

COleDateTime 개체의 값을 쿼리하는 다른 멤버 함수에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.

예시

COleDateTime t(1999, 3, 19, 22, 15, 0); // 10:15PM March 19, 1999
ASSERT(t.GetDayOfYear() == 78);         // 78th day of that year   

COleDateTime::GetHour

이 날짜/시간 값으로 표시되는 시간을 가져옵니다.

int GetHour() const throw();

Return Value

COleDateTime 개체 COleDateTime::error 의 값으로 표현되거나 시간을 가져올 수 없는 경우의 시간입니다.

설명

유효한 반환 값 범위는 0에서 23 사이입니다.

COleDateTime 개체의 값을 쿼리하는 다른 멤버 함수에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.

예시

COleDateTime t(1999, 3, 19, 22, 15, 0);  // 10:15PM March 19, 1999
ASSERT(t.GetSecond() == 0);
ASSERT(t.GetMinute() == 15);
ASSERT(t.GetHour() == 22);   

COleDateTime::GetMinute

이 날짜/시간 값으로 표시되는 분을 가져옵니다.

int GetMinute() const throw();

Return Value

COleDateTime 개체 COleDateTime::error 의 값으로 표현되거나 분을 가져올 수 없는 분입니다.

설명

유효한 반환 값 범위는 0에서 59 사이입니다.

COleDateTime 개체의 값을 쿼리하는 다른 멤버 함수에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.

예시

GetHour에 대한 예제를 참조하세요.

COleDateTime::GetMonth

이 날짜/시간 값으로 표시되는 월을 가져옵니다.

int GetMonth() const throw();

Return Value

COleDateTime 개체 COleDateTime::error 의 값으로 표현되거나 월을 가져올 수 없는 경우의 월입니다.

설명

유효한 반환 값 범위는 1에서 12 사이입니다.

COleDateTime 개체의 값을 쿼리하는 다른 멤버 함수에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.

예시

GetDay에 대한 예제를 참조하세요.

COleDateTime::GetSecond

이 날짜/시간 값으로 표시되는 두 번째 값을 가져옵니다.

int GetSecond() const throw();

Return Value

두 번째는 이 COleDateTime 개체의 값으로 표현되거나 COleDateTime::error 두 번째 개체를 가져올 수 없는 경우입니다.

설명

유효한 반환 값 범위는 0에서 59 사이입니다.

참고 항목

클래스는 COleDateTime 윤초를 지원하지 않습니다.

구현에 대한 COleDateTime자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.

COleDateTime 개체의 값을 쿼리하는 다른 멤버 함수에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.

예시

GetHour에 대한 예제를 참조하세요.

COleDateTime::GetStatus

지정된 COleDateTime 개체의 상태(유효성)를 가져옵니다.

DateTimeStatus GetStatus() const throw();

Return Value

COleDateTime 값의 상태를 반환합니다. 기본값으로 생성된 개체를 COleDateTime 호출 GetStatus 하면 유효한 개체가 반환됩니다. 생성자를 null로 COleDateTime 설정하여 초기화된 개체를 호출 GetStatus 하면 null GetStatus 이 반환됩니다.

설명

반환 값은 클래스 내에서 정의된 열거형 형식으로 COleDateTime 정의 DateTimeStatus 됩니다.

enum DateTimeStatus
{
   error = -1,
   valid = 0,
   invalid = 1,    // Invalid date (out of range, etc.)
   null = 2,       // Literally has no value
};

이러한 상태 값에 대한 간략한 설명은 다음 목록을 참조하세요.

  • COleDateTime::error 날짜/시간 값의 일부를 가져오는 동안 오류가 발생했음을 나타냅니다.

  • COleDateTime::validCOleDateTime 개체가 유효하다는 것을 나타냅니다.

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

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

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

  • 해당 값이 날짜/시간 값으로 VARIANT 변환할 수 없는 값에서 COleVariant 설정된 경우

  • 값이 유효한 날짜/시간 값으로 time_tSYSTEMTIMEFILETIME 변환할 수 없는 값에서 설정된 경우

  • 값이 잘못된 매개 변수 값으로 SetDateTime 설정된 경우

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

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

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

상태를 유효하지 않은 상태로 설정할 수 있는 작업에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.

값의 범위에 대한 COleDateTime 자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.

예시

COleDateTime t;

// this one is a leap year
t.SetDateTime(2000, 2, 29, 5, 0, 0);
ASSERT(t.GetStatus() == COleDateTime::valid);

// this date isn't valid
t.SetDateTime(1925, 2, 30, 5, 0, 0);
ASSERT(t.GetStatus() == COleDateTime::invalid);

// the only way to set null is to set null!
t.SetStatus(COleDateTime::null);
ASSERT(t.GetStatus() == COleDateTime::null);   

COleDateTime::GetYear

이 날짜/시간 값으로 표시되는 연도를 가져옵니다.

int GetYear() const throw();

Return Value

COleDateTime 개체 COleDateTime::error 의 값으로 표현되거나 연도를 가져올 수 없는 경우의 연도입니다.

설명

유효한 반환 값은 세기를 포함하는 100에서 9999 사이의 범위입니다.

COleDateTime 개체의 값을 쿼리하는 다른 멤버 함수에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.

값의 범위에 대한 COleDateTime 자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.

예시

GetDay에 대한 예제를 참조하세요.

COleDateTime::m_dt

COleDateTime 개체의 DATE 기본 구조체입니다.

DATE m_dt;

설명

주의

이 함수에서 DATE 반환된 포인터에서 액세스하는 개체의 값을 변경하면 이 개체의 값이 COleDateTime 변경됩니다. 이 COleDateTime 개체의 상태는 변경되지 않습니다.

개체 구현 DATE 에 대한 자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.

COleDateTime::m_status

COleDateTime 개체의 상태를 포함합니다.

DateTimeStatus m_status;

설명

이 데이터 멤버의 형식은 클래스 내에서 COleDateTime 정의된 열거형 형식DateTimeStatus입니다. 자세한 내용은 COleDateTime::GetStatus를 참조하세요.

주의

이 데이터 멤버는 고급 프로그래밍 상황에 적합합니다. 인라인 멤버 함수 GetStatusSetStatus를 사용해야 합니다. 이 데이터 멤버를 명시적으로 설정하는 방법에 대한 추가 주의 사항은 참조 SetStatus 하세요.

COleDateTime::operator =

값을 복사합니다 COleDateTime .

COleDateTime& operator=(const VARIANT& varSrc) throw();
COleDateTime& operator=(DATE dtSrc) throw();
COleDateTime& operator=(const time_t& timeSrc) throw();
COleDateTime& operator=(const __time64_t& timeSrc) throw();
COleDateTime& operator=(const SYSTEMTIME& systimeSrc) throw();
COleDateTime& operator=(const FILETIME& filetimeSrc) throw();
COleDateTime& operator=(const UDATE& uDate) throw();

설명

이러한 오버로드된 할당 연산자는 원본 날짜/시간 값을 이 COleDateTime 개체에 복사합니다. 이러한 오버로드된 각 할당 연산자의 간략한 설명은 다음과 같습니다.

  • operator =( dateSrc ) 피연산자의 값과 상태가 이 COleDateTime 개체에 복사됩니다.

  • operator =( varSrc ) VARIANT 값(또는 COleVariant 개체)을 날짜/시간(VT_DATE)으로 변환하는 데 성공하면 변환된 값이 이 COleDateTime 개체에 복사되고 해당 상태가 유효한 것으로 설정됩니다. 변환에 실패하면 이 개체의 값이 0(1899년 12월 30일 자정)으로 설정되고 상태가 유효하지 않습니다.

  • operator =( dtSrc ) 값이 DATECOleDateTime 개체에 복사되고 해당 상태가 유효한 것으로 설정됩니다.

  • operator =( timeSrc ) time_t 또는 __time64_t 값이 변환되어 이 COleDateTime 개체로 복사됩니다. 변환에 성공하면 이 개체의 상태가 유효한 것으로 설정됩니다. 실패하면 유효하지 않은 것으로 설정됩니다.

  • operator =( systimeSrc ) SYSTEMTIME 값이 변환되어 이 COleDateTime 개체로 복사됩니다. 변환에 성공하면 이 개체의 상태가 유효한 것으로 설정됩니다. 실패하면 유효하지 않은 것으로 설정됩니다.

  • operator =( uDate ) 값이 UDATE 변환되어 이 COleDateTime 개체로 복사됩니다. 변환에 성공하면 이 개체의 상태가 유효한 것으로 설정됩니다. 실패하면 유효하지 않은 것으로 설정됩니다. 구조체 UDATE 는 "압축 해제" 날짜를 나타냅니다. 자세한 내용은 VarDateFromUdate 함수 를 참조하세요.

  • operator =( filetimeSrc ) FILETIME 값이 변환되어 이 COleDateTime 개체로 복사됩니다. 변환에 성공하면 이 개체의 상태가 유효한 것으로 설정됩니다. 그렇지 않으면 유효하지 않은 것으로 설정됩니다. FILETIME 에서는 UTC(Universal Coordinated Time)를 사용하므로 구조에서 UTC 시간을 전달하면 결과가 UTC 시간에서 현지 시간으로 변환되고 변형 시간으로 저장됩니다. 이 동작은 Visual C++ 6.0 및 Visual C++.NET 2003 SP2와 동일합니다. 자세한 내용은 Windows SDK의 파일 시간을 참조하세요.

자세한 내용은 Windows SDK의 VARIANT 항목을 참조하세요.

데이터 형식에 대한 time_t 자세한 내용은 런타임 라이브러리 참조의 시간 함수를 참조하세요.

자세한 내용은 Windows SDK의 SYSTEMTIMEFILETIME 구조를 참조하세요.

값의 범위에 대한 COleDateTime 자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.

COleDateTime::operator +, -

값을 추가하고 뺍니다 ColeDateTime .

COleDateTime operator+(COleDateTimeSpan dateSpan) const throw();
COleDateTime operator-(COleDateTimeSpan dateSpan) const throw();
COleDateTimeSpan operator-(const COleDateTime& date) const throw();

설명

COleDateTime 개체는 절대 시간을 나타냅니다. COleDateTimeSpan 개체는 상대 시간을 나타냅니다. 처음 두 연산자를 사용하면 값에서 COleDateTime 값을 추가하고 뺄 COleDateTimeSpan 수 있습니다. 세 번째 연산자를 사용하면 한 COleDateTime 값을 다른 값에서 빼서 값을 생성할 수 있습니다 COleDateTimeSpan .

피연산자 중 하나가 null이면 결과 COleDateTime 값의 상태가 null입니다.

결과 COleDateTime 값이 허용 가능한 값의 범위를 벗어나면 해당 COleDateTime 값의 상태가 유효하지 않습니다.

피연산자 중 하나가 유효하지 않고 다른 피연산자 중 하나가 null이 아니면 결과 COleDateTime 값의 상태가 유효하지 않습니다.

개체가 + null로 설정된 경우 COleDateTime- 산자는 어설션됩니다. 예제는 COleDateTime 관계형 연산자를 참조하세요.

유효하고 유효하지 않으며 null 상태 값에 대한 자세한 내용은 m_status 멤버 변수를 참조하세요.

값의 범위에 대한 COleDateTime 자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.

예시

COleDateTime t1(1999, 3, 19, 22, 15, 0); // 10:15PM March 19, 1999
COleDateTime t2(1999, 3, 20, 22, 15, 0); // 10:15PM March 20, 1999

// Subtract 2 COleDateTimes
COleDateTimeSpan ts = t2 - t1;

// one day is 24 * 60 * 60 == 86400 seconds
ASSERT(ts.GetTotalSeconds() == 86400L);

// Add a COleDateTimeSpan to a COleDateTime.
ASSERT((t1 + ts) == t2);

// Subtract a COleDateTimeSpan from a COleDateTime.
ASSERT((t2 - ts) == t1);   

COleDateTime::operator +=, -=

COleDateTime 개체에서 값을 추가하고 뺍니다ColeDateTime.

COleDateTime& operator+=(COleDateTimeSpan dateSpan) throw();
COleDateTime& operator-=(COleDateTimeSpan dateSpan) throw();

설명

이러한 연산자를 사용하면 값을 이 COleDateTime값에 추가 및 뺄 COleDateTimeSpan 수 있습니다. 피연산자 중 하나가 null이면 결과 COleDateTime 값의 상태가 null입니다.

결과 COleDateTime 값이 허용 가능한 값의 범위를 벗어나면 이 COleDateTime 값의 상태가 유효하지 않은 상태로 설정됩니다.

피연산자 중 하나가 유효하지 않고 다른 피연산자 중 하나가 null이 아니면 결과 COleDateTime 값의 상태가 유효하지 않습니다.

유효하고 유효하지 않으며 null 상태 값에 대한 자세한 내용은 m_status 멤버 변수를 참조하세요.

개체가 += null로 설정된 경우 COleDateTime-= 산자는 어설션됩니다. 예제는 COleDateTime 관계형 연산자를 참조하세요.

값의 범위에 대한 COleDateTime 자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.

COleDateTime::operator DATE

값을 . ColeDateTimeDATE변환합니다.

operator DATE() const throw();

설명

이 연산자는 DATE 값이 이 COleDateTime 개체에서 복사되는 개체를 반환합니다. 개체 구현 DATE 에 대한 자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.

개체가 DATE null로 COleDateTime 설정된 경우 연산자가 어설션됩니다. 예제는 COleDateTime 관계형 연산자를 참조하세요.

COleDateTime::P arseDateTime

문자열을 구문 분석하여 날짜/시간 값을 읽습니다.

bool ParseDateTime(
    LPCTSTR lpszDate,
    DWORD dwFlags = 0,
    LCID lcid = LANG_USER_DEFAULT) throw();

매개 변수

lpszDate
구문 분석할 null로 끝나는 문자열에 대한 포인터입니다. 자세한 내용은 설명을 참조하세요.

dwFlags
로캘 설정 및 구문 분석 플래그를 나타냅니다. 다음 플래그 중 하나 이상:

  • LOCALE_NOUSEROVERRIDE 사용자 지정 사용자 설정 대신 시스템 기본 로캘 설정을 사용합니다.

  • VAR_TIMEVALUEONLY 구문 분석 중에 날짜 부분을 무시합니다.

  • VAR_DATEVALUEONLY 구문 분석하는 동안 시간 부분을 무시합니다.

lcid
변환에 사용할 로캘 ID를 나타냅니다.

Return Value

문자열이 날짜/시간 값으로 변환되었으면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.

설명

문자열이 날짜/시간 값으로 변환된 경우 이 COleDateTime 개체의 값이 해당 값으로 설정되고 해당 상태가 유효합니다.

참고 항목

연도 값은 100에서 9999 사이여야 합니다.

lpszDate 매개 변수는 다양한 형식을 사용할 수 있습니다. 예를 들어 다음 문자열에는 허용되는 날짜/시간 형식이 포함됩니다.

"25 January 1996"

"8:30:00"

"20:30:00"

"January 25, 1996 8:30:00"

"8:30:00 Jan. 25, 1996"

"1/25/1996 8:30:00" // always specify the full year, even in a 'short date' format

로캘 ID는 문자열 형식이 날짜/시간 값으로 변환할 수 있는지 여부에도 영향을 미칩니다.

VAR_DATEVALUEONLY 경우 시간 값은 시간 0 또는 자정으로 설정됩니다. VAR_TIMEVALUEONLY 경우 날짜 값은 1899년 12월 30일을 의미하는 날짜 0으로 설정됩니다.

문자열을 날짜/시간 값으로 변환할 수 없거나 숫자 오버플로가 있는 경우 이 COleDateTime 개체의 상태가 잘못되었습니다.

값의 범위 및 구현에 대한 COleDateTime 자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.

COleDateTime::SetDate

COleDateTime 개체의 날짜를 설정합니다.

int SetDate(
    int nYear,
    int nMonth,
    int nDay) throw();

매개 변수

nYear
COleDateTime 개체에 복사할 연도를 나타냅니다.

nMonth
COleDateTime 개체에 복사할 월을 나타냅니다.

nDay
COleDateTime 개체에 복사할 일을 나타냅니다.

Return Value

이 개체의 값이 COleDateTime 성공적으로 설정되었으면 0이고, 그렇지 않으면 1입니다. 이 반환 값은 열거형 형식을 DateTimeStatus 기반으로합니다. 자세한 내용은 SetStatus 멤버 함수를 참조하세요.

설명

날짜가 지정된 값으로 설정됩니다. 시간은 시간 0, 자정으로 설정됩니다.

매개 변수 값의 경계는 다음 표를 참조하세요.

매개 변수 Bounds
nYear 100 - 9999
nMonth 1 - 12
nDay 0 - 31

월의 날짜가 오버플로되면 다음 달의 올바른 날짜로 변환되고 그에 따라 월 및/또는 연도가 증가합니다. 일 값이 0이면 이전 달의 마지막 날을 나타냅니다. 동작은 .와 동일합니다 SystemTimeToVariantTime.

매개 변수에 지정된 날짜 값이 유효하지 않으면 이 개체의 상태가 .로 COleDateTime::invalid설정됩니다. GetStatus를 사용하여 값의 DATE 유효성을 확인해야 하며 m_dt이 수정되지 않은 상태로 유지된다고 가정해서는 안 됩니다.

날짜 값의 몇 가지 예는 다음과 같습니다.

nYear nMonth nDay
2000 2 29 2000년 2월 29일
1776 7 4 1776년 7월 4일
1925 4 35 1925년 4월 35일(유효하지 않은 날짜)
10000 1 1 10000년 1월 1일(유효하지 않은 날짜)

날짜와 시간을 모두 설정하려면 COleDateTime::SetDateTime을 참조 하세요.

COleDateTime 개체의 값을 쿼리하는 멤버 함수에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.

값의 범위에 대한 COleDateTime 자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.

예시

// set only the date, time set to midnight
dt.SetDate(1999, 3, 19);
ASSERT(dt.GetYear() == 1999);
ASSERT(dt.GetDay() == 19);
ASSERT(dt.GetMonth() == 3);
ASSERT(dt.GetHour() == 0);
ASSERT(dt.GetMinute() == 0);
ASSERT(dt.GetSecond() == 0);

// setting the time only resets the date to 1899!
dt.SetTime(22, 15, 0);
ASSERT(dt.GetYear() == 1899);
ASSERT(dt.GetDay() == 30);
ASSERT(dt.GetMonth() == 12);
ASSERT(dt.GetHour() == 22);
ASSERT(dt.GetMinute() == 15);
ASSERT(dt.GetSecond() == 0);   

COleDateTime::SetDateTime

COleDateTime 개체의 날짜와 시간을 설정합니다.

int SetDateTime(
    int nYear,
    int nMonth,
    int nDay,
    int nHour,
    int nMin,
    int nSec) throw();

매개 변수

nYear, nMonth, nDay, nHour, nMin, nSec
COleDateTime 개체에 복사할 날짜 및 시간 구성 요소를 나타냅니다.

Return Value

이 개체의 값이 COleDateTime 성공적으로 설정되었으면 0이고, 그렇지 않으면 1입니다. 이 반환 값은 열거형 형식을 DateTimeStatus 기반으로합니다. 자세한 내용은 SetStatus 멤버 함수를 참조하세요.

설명

매개 변수 값의 경계는 다음 표를 참조하세요.

매개 변수 Bounds
nYear 100 - 9999
nMonth 1 - 12
nDay 0 - 31
nHour 0 - 23
nMin 0 - 59
nSec 0 - 59

월의 날짜가 오버플로되면 다음 달의 올바른 날짜로 변환되고 그에 따라 월 및/또는 연도가 증가합니다. 일 값이 0이면 이전 달의 마지막 날을 나타냅니다. 동작은 SystemTimeToVariantTime동일합니다.

매개 변수에 지정된 날짜 또는 시간 값이 유효하지 않으면 이 개체의 상태가 유효하지 않은 것으로 설정되고 이 개체의 값은 변경되지 않습니다.

시간 값의 몇 가지 예는 다음과 같습니다.

nHour nMin nSec
1 3 3 01:03:03
23 45 0 23:45:00
25 30 0 유효하지 않음
9 60 0 유효하지 않음

날짜 값의 몇 가지 예는 다음과 같습니다.

nYear nMonth nDay
1995 4 15 1995년 4월 15일
1789 7 14 1789년 7월 17일
1925 2 30 유효하지 않음
10000 1 1 유효하지 않음

날짜만 설정하려면 COleDateTime::SetDate를 참조 하세요. 시간만 설정하려면 COleDateTime::SetTime을 참조 하세요.

COleDateTime 개체의 값을 쿼리하는 멤버 함수에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.

값의 범위에 대한 COleDateTime 자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.

예시

GetStatus에 대한 예제를 참조하세요.

COleDateTime::SetStatus

COleDateTime 개체의 상태를 설정합니다.

void SetStatus(DateTimeStatus status) throw();

매개 변수

status
COleDateTime 개체의 새 상태 값입니다.

설명

상태 매개 변수 값은 클래스 내에서 정의된 열거형 형식으로 COleDateTime 정의 DateTimeStatus 됩니다. 자세한 내용은 COleDateTime::GetStatus를 참조하세요.

주의

이 함수는 고급 프로그래밍 상황에 적합합니다. 이 함수는 이 개체의 데이터를 변경하지 않습니다. 상태를 null 또는 유효하지 않은 상태로 설정하는 데 가장 자주 사용됩니다. 대입 연산자(연산자 =) 및 SetDateTime 은 원본 값에 따라 개체의 상태를 설정합니다.

예시

GetStatus에 대한 예제를 참조하세요.

COleDateTime::SetTime

COleDateTime 개체의 시간을 설정합니다.

int SetTime(
    int nHour,
    int nMin,
    int nSec) throw();

매개 변수

nHour, nMin, nSec
COleDateTime 개체에 복사할 시간 구성 요소를 나타냅니다.

Return Value

이 개체의 값이 COleDateTime 성공적으로 설정되었으면 0이고, 그렇지 않으면 1입니다. 이 반환 값은 열거형 형식을 DateTimeStatus 기반으로합니다. 자세한 내용은 SetStatus 멤버 함수를 참조하세요.

설명

시간은 지정된 값으로 설정됩니다. 날짜는 1899년 12월 30일을 의미하는 날짜 0으로 설정됩니다.

매개 변수 값의 경계는 다음 표를 참조하세요.

매개 변수 Bounds
nHour 0 - 23
nMin 0 - 59
nSec 0 - 59

매개 변수에 지정된 시간 값이 유효하지 않으면 이 개체의 상태가 유효하지 않은 것으로 설정되고 이 개체의 값은 변경되지 않습니다.

시간 값의 몇 가지 예는 다음과 같습니다.

nHour nMin nSec
1 3 3 01:03:03
23 45 0 23:45:00
25 30 0 유효하지 않음
9 60 0 유효하지 않음

날짜와 시간을 모두 설정하려면 COleDateTime::SetDateTime을 참조 하세요.

COleDateTime 개체의 값을 쿼리하는 멤버 함수에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.

값의 범위에 대한 COleDateTime 자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.

예시

SetDate에 대한 예제를 참조하세요.

참고 항목

COleVariant 클래스
CTime 클래스
CTimeSpan 클래스
계층 구조 차트
ATL/MFC 공유 클래스