CIMDateTime Class Reference
#include <CIMDateTime.h>
Public Member Functions
CIMDateTime () CIMDateTime (const CIMDateTime &x) CIMDateTime (const String &str) CIMDateTime (Uint64 usec, Boolean isInterval) ~CIMDateTime () CIMDateTime & operator= (const CIMDateTime &x) String toString () const void set (const String &str) void clear () Boolean isInterval () const Boolean isInterval () Boolean equal (const CIMDateTime &x) const Uint64 toMicroSeconds () const CIMDateTime operator+ (const CIMDateTime &x) const CIMDateTime & operator+= (const CIMDateTime &x) CIMDateTime operator- (const CIMDateTime &x) const CIMDateTime & operator-= (const CIMDateTime &x) CIMDateTime operator* (Uint64 x) const CIMDateTime & operator*= (Uint64 x) CIMDateTime operator/ (Uint64 num) const CIMDateTime & operator/= (Uint64 num) Uint64 operator/ (const CIMDateTime &cdt) const Boolean operator< (const CIMDateTime &x) const Boolean operator<= (const CIMDateTime &x) const Boolean operator> (const CIMDateTime &x) const Boolean operator>= (const CIMDateTime &x) const Boolean operator!= (const CIMDateTime &x) const Static Public Member Functions
static CIMDateTime getCurrentDateTime () static Sint64 getDifference (CIMDateTime startTime, CIMDateTime finishTime) Detailed Description
The CIMDateTime class represents the CIM datetime data type as a C++ class CIMDateTime. A CIM datetime may contain a time stamp or an interval. CIMDateTime is an intrinsic CIM data type that represents the time as a string with a fixed length.
A time stamp has the following form: yyyymmddhhmmss.mmmmmmsutcWhereyyyy = year (1-9999) mm = month (1-12) dd = day (1-31) hh = hour (0-23) mm = minute (0-59) ss = second (0-59) mmmmmm = microseconds s = '+' or '-' to represent the Coordinated Universal Time (UTC) sign utc = offset from Coordinated Universal Time (UTC) (same as Greenwich Mean Time(GMT) offset)An interval has the following form:ddddddddhhmmss.mmmmmm:000Wheredddddddd = days hh = hours (0-23) mm = minutes (0-59) ss = seconds (0-59) mmmmmm = microsecondsNote: Intervals always end in ":000". This distinguishes intervals from time stamps.
CIMDateTime objects are constructed from String objects or from other CIMDateTime objects. Character strings must be exactly twenty-five characters in length and conform to either the time stamp or interval format.
CIMDateTime objects that are not explicitly initialized will be implicitly initialized with a zero time interval:
00000000000000.000000:000
The following table shows what arithmetic operations are allowed between CIMDateTime types. The entries in the last four columns define the type of the result when the operation, specified in the column header, is performed on operands, of the types specified in the first two columns.
LHS - left hand side TS - time stamp int - integer RHS - right hand side IV - interval X - operation not allowed between typesLHS RHS + - * / _____________________________________________ TS TS X IV X X TS IV TS TS X X TS int X X X X IV IV IV IV X int IV TS X X X X IV int X X IV IV int TS X X X X int IV X X X XThe relational operators may only operate on two operands of the same type, i.e. two time stamps or two intervals.
Constructor & Destructor Documentation
Creates a new CIMDateTime object with a zero interval value.
CIMDateTime::CIMDateTime ( const CIMDateTime & x ) Creates a CIMDateTime object from another CIMDateTime object.
- Parameters:
x Specifies the name of the CIMDateTime object to copy.
CIMDateTime::CIMDateTime ( const String & str ) Creates a new CIMDateTime object from a string constant representing the CIM DateTime formatted datetime. See the class documentation for CIMDateTime for the definition of the input string for absolute and interval datetime.
- Parameters:
str String object containing the CIMDateTime formatted string. This must contain twenty-five characters.
- Exceptions:
InvalidDateTimeFormatException If the input string is not formatted correctly.
CIMDateTime::CIMDateTime ( Uint64 usec, Boolean isInterval ) Creates a CIMDateTime object from an integer.
- Parameters:
usec For a time stamp, the number of microseconds since the epoch 0/0/0000 (12 am Jan 1, 1BCE); For an interval, the number of microseconds in the interval. isInterval Specifies whether the CIMDateTime object is to be created as an interval value (true) or a time stamp (false).
- Exceptions:
DateTimeOutOfRangeException If the microSec value is too large (greater than 317,455,200,000,000,000 for a time stamps or 8,640,000,000,000,000,000 for an interval). InvalidDateTimeFormatException If the CIMDateTime object is not formed correctly. CIMDateTime destructor.
Member Function Documentation
void CIMDateTime::clear ( ) Clears the datetime class object. The date time is set to a zero interval value.
Boolean CIMDateTime::equal ( const CIMDateTime & x ) const Compares the CIMDateTime object to another CIMDateTime object for equality.
- Parameters:
x CIMDateTime object to be compared.
- Returns:
- true if the two CIMDateTime objects are equal, false otherwise
- Exceptions:
TypeMismatchException If arguments are of different types.
static CIMDateTime CIMDateTime::getCurrentDateTime ( ) [static]
Returns the current local time in a CIMDateTime object.
- Returns:
- CIMDateTime object containing the current local date and time.
static Sint64 CIMDateTime::getDifference ( CIMDateTime startTime, CIMDateTime finishTime ) [static]
Computes the difference in microseconds between two CIMDateTime time stamps or two CIMDateTime intervals.
- Parameters:
startTime Contains the start datetime. finishTime Contains the finish datetime.
- Returns:
- An integer that contains the difference between the two datetime values (in microseconds).
- Exceptions:
InvalidDateTimeFormatException If arguments are not the same type of CIMDateTime.
Boolean CIMDateTime::isInterval ( ) const Checks whether the datetime is an interval.
- Returns:
- True if the datetime is an interval value, false otherwise.
Boolean CIMDateTime::isInterval ( ) Checks whether the datetime is an interval. (This non-const form is maintained for compatibility.)
- Returns:
- True if the datetime is an interval value, false otherwise.
Boolean CIMDateTime::operator!= ( const CIMDateTime & x ) const Compare two CIMDateTime objects and returns true if the LHS is not equal to the RHS.
- Parameters:
x operand on the RHS of the operator
- Returns:
- true if the LHS is not equal to RHS, false otherwise.
- Exceptions:
DateTimeOutOfRangeException If conversion to UTC (an internal operation) causes an overflow condition. TypeMismatchException if operands are not of the same type.
CIMDateTime CIMDateTime::operator* ( Uint64 x ) const Multiplies a CIMDateTime object by an integer and returns a CIMDateTime object that represents the product.
- Parameters:
x integer operand on the RHS of the operator
- Returns:
- A CIMDateTime object that is the result of multiplying the calling object by the RHS operand.
- Exceptions:
DateTimeOutOfRangeException If the operation causes an overflow condition. TypeMismatchException If the operands are not type compatible (see table of operations).
CIMDateTime& CIMDateTime::operator*= ( Uint64 x ) Multiplies a CIMDateTime object by an integer, returns the product and changes the value of the calling object to match the returned product.
- Parameters:
x integer operand on the RHS of the operator
- Returns:
- A CIMDateTime object that is the result of multiplying the calling object by the RHS operand.
- Exceptions:
DateTimeOutOfRangeException If the operation causes an overflow condition. TypeMismatchException If the operands are not type compatible (see table of operations).
CIMDateTime CIMDateTime::operator+ ( const CIMDateTime & x ) const Adds two CIMDateTime objects and returns a CIMDateTime object that represents the sum.
- Parameters:
x operand on the RHS of the operator
- Returns:
- A CIMDateTime object that is the result of adding the calling object to the RHS operand
- Exceptions:
DateTimeOutOfRangeException If the operation causes an overflow condition. TypeMismatchException If the operands are not type compatible (see table of operations).
CIMDateTime& CIMDateTime::operator+= ( const CIMDateTime & x ) Adds two CIMDateTime objects, returns the sum and changes the value of the calling CIMDateTime object to match the return value.
- Parameters:
x operand on the RHS of the operator
- Returns:
- A CIMDateTime object that is the result of adding the calling object to the RHS operand
- Exceptions:
DateTimeOutOfRangeException If the operation causes an overflow condition. TypeMismatchException If the operands are not type compatible (see table of operations).
CIMDateTime CIMDateTime::operator- ( const CIMDateTime & x ) const Subtracts one CIMDateTime object from another and returns a CIMDateTime object that represents the difference.
- Parameters:
x operand on the RHS of the operator
- Returns:
- A CIMDateTime object that is the result of subtracting the the RHS object from the calling.
- Exceptions:
DateTimeOutOfRangeException If the operation causes an underflow condition or conversion to UTC (an internal operation) causes an overflow condition. TypeMismatchException If the operands are not type compatible (see table of operations).
CIMDateTime& CIMDateTime::operator-= ( const CIMDateTime & x ) Subtracts one CIMDateTime object from another, returns the difference and changes the value of the calling CIMDateTime object to match the return value.
- Parameters:
x operand on the RHS of the operator
- Returns:
- A CIMDateTime object that is the result of subtracting the object on the RHS from the calling object.
- Exceptions:
DateTimeOutOfRangeException If the operation causes an underflow condition or conversion to UTC (an internal operation) causes an overflow condition. TypeMismatchException If the operands are not type compatible (see table of operations).
CIMDateTime CIMDateTime::operator/ ( Uint64 num ) const Divides a CIMDateTime object by an integer and returns a CIMDateTime object that represents the quotient.
- Parameters:
num integer operand on the RHS of the operator
- Returns:
- A CIMDateTime object that is the result of dividing the calling object by the RHS operand.
- Exceptions:
DateTimeOutOfRangeException If conversion to UTC (an internal operation) causes an overflow condition. TypeMismatchException If the CIMDateTime object does not hold an interval value (see table of operations). Exception if param num is zero.
Uint64 CIMDateTime::operator/ ( const CIMDateTime & cdt ) const Divides a CIMDateTime object by another CIMDateTime object and returns an integer quotient.
- Parameters:
cdt CIMDateTime object on the RHS of the operator
- Returns:
- An integer that is the result of dividing the number of microseconds represented by the calling CIMDateTime object by the number of microseconds represented by the CIMDateTime object on the RHS of the operator.
- Exceptions:
DateTimeOutOfRangeException If conversion to UTC (an internal operation) causes an overflow condition. TypeMismatchException If the operands are not type compatible (see table of operations).
CIMDateTime& CIMDateTime::operator/= ( Uint64 num ) Divides a CIMDateTime object by an integer, returns the quotient and changes the value of the calling object to match the returned quotient.
- Parameters:
num integer operand on the RHS of the operator
- Returns:
- A CIMDateTime object that is the result of dividing the calling object by the RHS operand.
- Exceptions:
DateTimeOutOfRangeException If conversion to UTC (an internal operation) causes an overflow condition. TypeMismatchException If the CIMDateTime object does not hold an interval value (see table of operations). Exception if param num is zero.
Boolean CIMDateTime::operator< ( const CIMDateTime & x ) const Compare two CIMDateTime objects and returns true if the LHS is less than the RHS.
- Parameters:
x operand on the RHS of the operator
- Returns:
- true if the LHS is less than the RHS, false otherwise.
- Exceptions:
DateTimeOutOfRangeException If conversion to UTC (an internal operation) causes an overflow condition. TypeMismatchException if operands are not of the same type.
Boolean CIMDateTime::operator<= ( const CIMDateTime & x ) const Compare two CIMDateTime objects and returns true if the LHS is less than or equal to the RHS.
- Parameters:
x operand on the RHS of the operator
- Returns:
- true if the LHS is less than or equal to the RHS, false otherwise.
- Exceptions:
DateTimeOutOfRangeException If conversion to UTC (an internal operation) causes an overflow condition. TypeMismatchException if operands are not of the same type.
CIMDateTime& CIMDateTime::operator= ( const CIMDateTime & x ) Assigns one instance of the CIMDateTime object to another.
- Parameters:
x The CIMDateTime Object to assign to the CIMDateTime object. For example, you can assign the d1 CIMDateTime instance to the d2 CIMDateTime instance. CIMDateTime d1; CIMDateTime d2 = "00000000000000.000000:000"; d1 = d2;Therefore, d1 is assigned the same "00000000000000.000000:000" value as d2.
Boolean CIMDateTime::operator> ( const CIMDateTime & x ) const Compare two CIMDateTime objects and returns true if the LHS is greater than the RHS.
- Parameters:
x operand on the RHS of the operator
- Returns:
- true if the LHS is greater than the RHS, false otherwise.
- Exceptions:
DateTimeOutOfRangeException If conversion to UTC (an internal operation) causes an overflow condition. TypeMismatchException if operands are not of the same type.
Boolean CIMDateTime::operator>= ( const CIMDateTime & x ) const Compare two CIMDateTime objects and returns true if the LHS is greater than or equal to the RHS.
- Parameters:
x operand on the RHS of the operator
- Returns:
- true if the LHS is greater than or equal to the RHS, false otherwise.
- Exceptions:
DateTimeOutOfRangeException If conversion to UTC (an internal operation) causes an overflow condition. TypeMismatchException if operands are not of the same type.
void CIMDateTime::set ( const String & str ) Sets the datetime value from the input parameter.
- Parameters:
str String containing the new value in the datetime format (specified in the CIMDateTime class description). For example, the following sets the date to December 24, 1999 and time to 12:00 P.M. EST. CIMDateTime dt; dt.set("19991224120000.000000-300");
- Exceptions:
InvalidDateTimeFormatException If the datetime String is not formatted correctly.
Uint64 CIMDateTime::toMicroSeconds ( ) const Converts a CIMDateTime object to its microsecond representation.
- Returns:
- Number of microseconds since the epoch (for time stamps) or in a span of time (for intervals).
- Exceptions:
DateTimeOutOfRangeException If conversion to UTC (an internal operation) causes an overflow condition.
String CIMDateTime::toString ( ) const Returns a string representing the DateTime value of the CIMDateTime object.
- Returns:
- String representing the DateTime value.
The documentation for this class was generated from the following file:
- /var/tmp/tog-pegasus-2.9.0-8m.mo8/pegasus/src/Pegasus/Common/CIMDateTime.h