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에 대한 GetMinute
GetYear
GetMonth
GetDay
GetHour
후속 호출이 허용됩니다. 이전에는 두 자리 날짜를 사용할 수 있었지만 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의 SYSTEMTIME 및 FILETIME 구조를 참조하세요.
값의 범위에 대한 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으로 설정됩니다.
개체에 보관된 상태 정보에 대한 자세한 내용은 GetStatus를 COleDateTime
참조하세요.
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::valid
이COleDateTime
개체가 유효하다는 것을 나타냅니다.COleDateTime::invalid
이COleDateTime
개체가 잘못되었음을 나타냅니다. 즉, 해당 값이 잘못되었을 수 있습니다.COleDateTime::null
이COleDateTime
개체가 null임을 나타냅니다. 즉, 이 개체에 대한 값이 제공되지 않았습니다. (C++ NULL과 달리 데이터베이스의 "값 없음"에서 "null"입니다.)
다음과 같은 경우 개체의 COleDateTime
상태가 잘못되었습니다.
해당 값이 날짜/시간 값으로
VARIANT
변환할 수 없는 값에서COleVariant
설정된 경우값이 유효한 날짜/시간 값으로
time_t
SYSTEMTIME
FILETIME
변환할 수 없는 값에서 설정된 경우값이 잘못된 매개 변수 값으로
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를 참조하세요.
주의
이 데이터 멤버는 고급 프로그래밍 상황에 적합합니다. 인라인 멤버 함수 GetStatus 및 SetStatus를 사용해야 합니다. 이 데이터 멤버를 명시적으로 설정하는 방법에 대한 추가 주의 사항은 참조 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
) 값이DATE
이COleDateTime
개체에 복사되고 해당 상태가 유효한 것으로 설정됩니다.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의 SYSTEMTIME 및 FILETIME 구조를 참조하세요.
값의 범위에 대한 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
값을 . ColeDateTime
로 DATE
변환합니다.
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 공유 클래스