OLE 자동화에 DATE 사용되는 데이터 형식을 캡슐화합니다.
구문
class COleDateTime
멤버
공용 생성자
| 속성 | 설명 |
|---|---|
| COleDateTime::COleDateTime |
COleDateTime 개체를 생성합니다. |
공용 메서드
| 속성 | 설명 |
|---|---|
| COleDateTime::Format | 개체의 형식이 지정된 문자열 표현을 COleDateTime 생성합니다. |
| COleDateTime::GetAsDBTIMESTAMP | 이 메서드를 호출하여 개체의 COleDateTime 시간을 데이터 구조로 DBTIMESTAMP 가져옵니다. |
| COleDateTime::GetAsSystemTime | 이 메서드를 호출하여 개체의 COleDateTime 시간을 SYSTEMTIME 데이터 구조로 가져옵니다. |
| COleDateTime::GetAsUDATE | 이 메서드를 호출하여 데이터 구조로 COleDateTime 시간을 UDATE 가져옵니다. |
| 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 또는 DATEa DATE* 로 변환합니다. |
공용 데이터 멤버
| 속성 | 설명 |
|---|---|
| COleDateTime::m_dt | 이 DATE 개체의 내부 COleDateTime 를 포함합니다. |
| 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로 표시됩니다. 즉, 단순 부동 소수점 비교는 1899COleDateTime 정렬 합니다.
수업은 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 경우 날짜가 수락되지만 , 및 실패 및 GetYear 반환 -1에 대한 GetMonthGetDayGetHourGetMinuteGetSecond후속 호출이 허용됩니다. 이전에는 두 자리 날짜를 사용할 수 있었지만 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();
매개 변수
날짜
비교할 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로 설정된 경우 > =<자가 어설션됩니다.
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)으로 변환하고 새 VARIANT 개체에 복사할 기존 COleVariant 데이터 구조(개체일 수 있음COleDateTime)입니다.
dtSrc
새 DATE 개체에 복사할 날짜/시간(COleDateTime) 값입니다.
timeSrc
날짜/시간 값으로 변환하여 새 time_t 개체에 복사할 값 또는 __time64_t A COleDateTime 입니다.
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 |
| 월 | 0 - 12 |
| 일 | 0 - 31 |
| 시 | 0 - 23 |
| 분 | 0 - 59 |
| 초 | 0 - 59 |
일 구성 요소의 실제 상한은 월 및 연도 구성 요소에 따라 달라집니다. 자세한 내용은 멤버 함수 또는 SetDate 멤버 함수를 SetDateTime 참조하세요.
다음은 각 생성자에 대한 간략한 설명입니다.
COleDateTime() 0으로 초기화된 개체를 생성합니다COleDateTime(1899년 12월 30일 자정).COleDateTime(dateSrc)COleDateTime기존COleDateTime개체에서 개체를 생성합니다.COleDateTime(varSrc) 개체를COleDateTime생성합니다. 구조체 또는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는FILETIMEUTC(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입니다.
반환 값
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 구조체에 대한 참조입니다.
반환 값
성공하면 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입니다.
반환 값
성공하면 TRUE를 반환합니다. 변환에 실패하거나 개체가 COleDateTime NULL이거나 잘못된 경우 FALSE입니다.
설명
GetAsSystemTime 는 참조된 sysTime 개체에 결과 시간을 저장합니다.
SYSTEMTIME 이 함수에 의해 초기화된 데이터 구조에는 해당 멤버가 wMilliseconds 0으로 설정됩니다.
개체에 보관된 상태 정보에 대한 자세한 내용은 GetStatus를 COleDateTime 참조하세요.
COleDateTime::GetAsUDATE
이 메서드를 호출하여 개체의 COleDateTime 시간을 데이터 구조로 UDATE 가져옵니다.
bool GetAsUDATE(UDATE& uDate) const throw();
매개 변수
uDate
개체에서 변환된 날짜/시간 값을 받는 구조체에 대한 UDATE 참조 COleDateTime 입니다.
반환 값
성공하면 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();
반환 값
이 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();
반환 값
이 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();
반환 값
이 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();
반환 값
이 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();
반환 값
이 COleDateTime 개체 COleDateTime::error 의 값으로 표현되거나 분을 가져올 수 없는 분입니다.
설명
유효한 반환 값 범위는 0에서 59 사이입니다.
이 COleDateTime 개체의 값을 쿼리하는 다른 멤버 함수에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.
예시
GetHour에 대한 예제를 참조하세요.
COleDateTime::GetMonth
이 날짜/시간 값으로 표시되는 월을 가져옵니다.
int GetMonth() const throw();
반환 값
이 COleDateTime 개체 COleDateTime::error 의 값으로 표현되거나 월을 가져올 수 없는 경우의 월입니다.
설명
유효한 반환 값 범위는 1에서 12 사이입니다.
이 COleDateTime 개체의 값을 쿼리하는 다른 멤버 함수에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.
예시
GetDay에 대한 예제를 참조하세요.
COleDateTime::GetSecond
이 날짜/시간 값으로 표시되는 두 번째 값을 가져옵니다.
int GetSecond() const throw();
반환 값
두 번째는 이 COleDateTime 개체의 값으로 표현되거나 COleDateTime::error 두 번째 개체를 가져올 수 없는 경우입니다.
설명
유효한 반환 값 범위는 0에서 59 사이입니다.
참고 항목
클래스는 COleDateTime 윤초를 지원하지 않습니다.
구현에 대한 COleDateTime자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.
이 COleDateTime 개체의 값을 쿼리하는 다른 멤버 함수에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.
예시
GetHour에 대한 예제를 참조하세요.
COleDateTime::GetStatus
지정된 COleDateTime 개체의 상태(유효성)를 가져옵니다.
DateTimeStatus GetStatus() const throw();
반환 값
이 COleDateTime 값의 상태를 반환합니다. 기본값으로 생성된 개체를 GetStatus 호출 COleDateTime 하면 유효한 개체가 반환됩니다. 생성자를 null로 GetStatus 설정하여 초기화된 개체를 호출 COleDateTime 하면 null GetStatus 이 반환됩니다.
설명
반환 값은 클래스 내에서 정의된 열거형 형식으로 DateTimeStatus 정의 COleDateTime 됩니다.
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_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();
반환 값
이 COleDateTime 개체 COleDateTime::error 의 값으로 표현되거나 연도를 가져올 수 없는 경우의 연도입니다.
설명
유효한 반환 값은 세기를 포함하는 100에서 9999 사이의 범위입니다.
이 COleDateTime 개체의 값을 쿼리하는 다른 멤버 함수에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.
값의 범위에 대한 COleDateTime 자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.
예시
GetDay에 대한 예제를 참조하세요.
COleDateTime::m_dt
이 DATE 개체의 COleDateTime 기본 구조체입니다.
DATE m_dt;
설명
주의
이 함수에서 DATE 반환된 포인터에서 액세스하는 개체의 값을 변경하면 이 개체의 값이 COleDateTime 변경됩니다. 이 COleDateTime 개체의 상태는 변경되지 않습니다.
개체 구현 DATE 에 대한 자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.
COleDateTime::m_status
이 COleDateTime 개체의 상태를 포함합니다.
DateTimeStatus m_status;
설명
이 데이터 멤버의 형식은 클래스 내에서 DateTimeStatus 정의된 열거형 형식COleDateTime입니다. 자세한 내용은 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 개체는 상대 시간을 나타냅니다. 처음 두 연산자를 사용하면 값에서 COleDateTimeSpan 값을 추가하고 뺄 COleDateTime 수 있습니다. 세 번째 연산자를 사용하면 한 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();
설명
이러한 연산자를 사용하면 값을 이 COleDateTimeSpan값에 추가 및 뺄 COleDateTime 수 있습니다. 피연산자 중 하나가 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를 나타냅니다.
반환 값
문자열이 날짜/시간 값으로 변환되었으면 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 개체에 복사할 일을 나타냅니다.
반환 값
이 개체의 값이 COleDateTime 성공적으로 설정되었으면 0이고, 그렇지 않으면 1입니다. 이 반환 값은 열거형 형식을 DateTimeStatus 기반으로합니다. 자세한 내용은 SetStatus 멤버 함수를 참조하세요.
설명
날짜가 지정된 값으로 설정됩니다. 시간은 시간 0, 자정으로 설정됩니다.
매개 변수 값의 경계는 다음 표를 참조하세요.
| 매개 변수 | 범위 |
|---|---|
| nYear | 100 - 9999 |
| nMonth | 1 - 12 |
| nDay | 0 - 31 |
월의 날짜가 오버플로되면 다음 달의 올바른 날짜로 변환되고 그에 따라 월 및/또는 연도가 증가합니다. 일 값이 0이면 이전 달의 마지막 날을 나타냅니다. 동작은 .와 동일합니다 SystemTimeToVariantTime.
매개 변수에 지정된 날짜 값이 유효하지 않으면 이 개체의 상태가 .로 COleDateTime::invalid설정됩니다. GetStatus를 사용하여 값의 유효성을 확인해야 하며 m_dtDATE이 수정되지 않은 상태로 유지된다고 가정해서는 안 됩니다.
날짜 값의 몇 가지 예는 다음과 같습니다.
| nYear | nMonth | nDay | 값 |
|---|---|---|---|
| 2000 | 2 | 이십구 | 2000년 2월 29일 |
| 1776 | 7 | 4 | 1776년 7월 4일 |
| 1925 | 4 | 35 | 1925년 4월 35일(유효하지 않은 날짜) |
| 1만 | 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 개체에 복사할 날짜 및 시간 구성 요소를 나타냅니다.
반환 값
이 개체의 값이 COleDateTime 성공적으로 설정되었으면 0이고, 그렇지 않으면 1입니다. 이 반환 값은 열거형 형식을 DateTimeStatus 기반으로합니다. 자세한 내용은 SetStatus 멤버 함수를 참조하세요.
설명
매개 변수 값의 경계는 다음 표를 참조하세요.
| 매개 변수 | 범위 |
|---|---|
| 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 | 유효하지 않음 |
| 1만 | 1 | 1 | 유효하지 않음 |
날짜만 설정하려면 COleDateTime::SetDate를 참조 하세요. 시간만 설정하려면 COleDateTime::SetTime을 참조 하세요.
이 COleDateTime 개체의 값을 쿼리하는 멤버 함수에 대한 자세한 내용은 다음 멤버 함수를 참조하세요.
값의 범위에 대한 COleDateTime 자세한 내용은 날짜 및 시간: Automation 지원 문서를 참조하세요.
예시
GetStatus에 대한 예제를 참조하세요.
COleDateTime::SetStatus
이 COleDateTime 개체의 상태를 설정합니다.
void SetStatus(DateTimeStatus status) throw();
매개 변수
상태
이 COleDateTime 개체의 새 상태 값입니다.
설명
상태 매개 변수 값은 클래스 내에서 정의된 열거형 형식으로 DateTimeStatus 정의 COleDateTime 됩니다. 자세한 내용은 COleDateTime::GetStatus를 참조하세요.
주의
이 함수는 고급 프로그래밍 상황에 적합합니다. 이 함수는 이 개체의 데이터를 변경하지 않습니다. 상태를 null 또는 유효하지 않은 상태로 설정하는 데 가장 자주 사용됩니다. 대입 연산자(연산자 =) 및 SetDateTime 은 원본 값에 따라 개체의 상태를 설정합니다.
예시
GetStatus에 대한 예제를 참조하세요.
COleDateTime::SetTime
이 COleDateTime 개체의 시간을 설정합니다.
int SetTime(
int nHour,
int nMin,
int nSec) throw();
매개 변수
nHour, nMin, nSec
이 COleDateTime 개체에 복사할 시간 구성 요소를 나타냅니다.
반환 값
이 개체의 값이 COleDateTime 성공적으로 설정되었으면 0이고, 그렇지 않으면 1입니다. 이 반환 값은 열거형 형식을 DateTimeStatus 기반으로합니다. 자세한 내용은 SetStatus 멤버 함수를 참조하세요.
설명
시간은 지정된 값으로 설정됩니다. 날짜는 1899년 12월 30일을 의미하는 날짜 0으로 설정됩니다.
매개 변수 값의 경계는 다음 표를 참조하세요.
| 매개 변수 | 범위 |
|---|---|
| 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 공유 클래스