仅供参考:
COleDateTime::m_dt
Remarks
The underlying DATE structure for this COleDateTime object.
Caution Changing the value in the DATE object accessed by the pointer returned by this function will change the value of this COleDateTime object. It does not change the status of this COleDateTime object.
For more information about the implementation of the DATE object, see the articleDate and Time: Automation Support in Visual C++ Programmer’s Guide.
COleDateTime Overview | Class Members | Hierarchy Chart
See Also COleDateTime::COleDateTime, COleDateTime::SetDateTime, COleDateTime::SetDate, COleDateTime::SetTime, COleDateTime::operator DATE
--------------------------------------------------------------------------------
Send feedback to MSDN.Look here for MSDN Online resources.
The DATE Type
Home | Overview | How Do I
The DATE type is implemented using an 8-byte floating-point number. Days are represented by whole number increments starting with 30 December 1899, midnight as time zero. Hour values are expressed as the absolute value of the fractional part of the number. The following table illustrates this.
Date and time Representation
30 December 1899, midnight 0.00
1 January 1900, midnight 2.00
4 January 1900, midnight 5.00
4 January 1900, 6 A.M. 5.25
4 January 1900, noon 5.50
4 January 1900, 9 P.M. 5.875
So, the DATE date type, and also the COleDateTime class, represent dates and times as a classic number line.
However, there are discontinuities for dates before 30 December 1899. See the following table for an illustration.
Date and time Representation
30 December 1899, midnight 0.00
29 December 1899, midnight -1.00
18 December 1899, midnight -12.00
18 December 1899, 6 A.M. -12.25
18 December 1899, noon -12.50
18 December 1899, 6 P.M. -12.75
19 December 1899, midnight -11.00
--------------------------------------------------------------------------------
Send feedback to MSDN.Look here for MSDN Online resources.
COleDateTime::m_status
Remarks
The type of this data member is the enumerated type DateTimeStatus, which is defined within the COleDateTime class.
enum DateTimeStatus{
valid = 0,
invalid = 1,
null = 2,
};
For a brief description of these status values, see the following list:
COleDateTime::valid Indicates that this COleDateTime object is valid.
COleDateTime::invalid Indicates that this COleDateTime object is invalid; that is, its value may be incorrect.
COleDateTime::null Indicates that this COleDateTime object is null, that is, that no value has been supplied for this object. (This is “null” in the database sense of “having no value,” as opposed to the C++ NULL.)
The status of a COleDateTime object is invalid in the following cases:
If its value is set from a VARIANT or COleVariant value that could not be converted to a date/time value.
If its value is set from a time_t, SYSTEMTIME, or FILETIME value that could not be converted to a valid date/time value.
If its value is set by SetDateTime with invalid parameter values.
If this object has experienced an overflow or underflow during an arithmetic assignment operation, namely, += or -=.
If an invalid value was assigned to this object.
If the status of this object was explicitly set to invalid using SetStatus.
For more information about the operations that may set the status to invalid, see the following member functions:
COleDateTime
SetDateTime
operator +, -
operator +=, -=
Caution This data member is for advanced programming situations. You should use the inline member functions GetStatus and SetStatus. See SetStatus for further cautions regarding explicitly setting this data member.
For more information about the bounds for COleDateTime values, see the articleDate and Time: Automation Support in Visual C++ Programmer’s Guide.
COleDateTime Overview | Class Members | Hierarchy Chart
See Also COleDateTime::GetStatus, COleDateTime::SetStatus
--------------------------------------------------------------------------------
Send feedback to MSDN.Look here for MSDN Online resources.