TDateTime Class Reference

class TDateTime

A date and time object in which the individual components are accessible in human-readable form.

The individual components are: year, month, day, hour, minute, second and microsecond.

These components are stored as integers and all except the year are checked for validity when a TDateTime is constructed or assigned new values.

This class only supports getting and setting the entire date/time or any component of it. It does not support adding or subtracting intervals to or from a time. For functions which manipulate times, use class TTime .

TTime

Constructor & Destructor Documentation

TDateTime()

TDateTime ( ) [inline]

Constructs an uninitialised TDateTime object.

TDateTime(TInt, TMonth, TInt, TInt, TInt, TInt, TInt)

IMPORT_C TDateTime ( TInt aYear,
TMonth aMonth,
TInt aDay,
TInt aHour,
TInt aMinute,
TInt aSecond,
TInt aMicroSecond
)

Constructs the TDateTime object with the seven fields which comprise a date and time.

panic
USER 3, if an attempt is made to set an invalid value for any of the fields, except for the year. No check is made upon the validity of the year.

Parameters

TInt aYear The year. No check is made for validity.
TMonth aMonth The month. Range is EJanuary to EDecember.
TInt aDay The day. Range is zero to number of days in month minus one.
TInt aHour The hour. Range is 0 to 23.
TInt aMinute The minute. Range is 0 to 59.
TInt aSecond The second. Range is 0 to 59
TInt aMicroSecond The microsecond. Range is 0 to 999999

Member Functions Documentation

Day()

TInt Day ( ) const [inline]

Gets the day component of the date/time.

Hour()

TInt Hour ( ) const [inline]

Gets the hour component of the date/time.

MicroSecond()

TInt MicroSecond ( ) const [inline]

Gets the microsecond component of the date/time.

Minute()

TInt Minute ( ) const [inline]

Gets the minute component of the date/time.

Month()

TMonth Month ( ) const [inline]

Gets the month component of the date/time.

Second()

TInt Second ( ) const [inline]

Gets the second component of the date/time.

Set(TInt, TMonth, TInt, TInt, TInt, TInt, TInt)

IMPORT_C TInt Set ( TInt aYear,
TMonth aMonth,
TInt aDay,
TInt aHour,
TInt aMinute,
TInt aSecond,
TInt aMicroSecond
)

Sets all date and time components.

Note:

1. When setting the day and month, subtract one because the ranges are offset from zero.

2. If the function returns an error, only those fields preceding the field which caused the error will be changed. For example, if the hour is out of range, the year, month and day will be set, all other components will remain unchanged.

Parameters

TInt aYear Year. No check is made on its validity, except that if the date is set to February 29th, the year can only be set to a leap year, otherwise an error is returned.
TMonth aMonth Month. The valid range is EJanuary to EDecember. If an attempt is made to set an invalid month, or if the current day number in the month is greater than or equal to the number of days in the new month, an error is returned.
TInt aDay The number of the day within the month, offset from zero. If greater than or equal to the total number of days in the month,an error is returned.
TInt aHour Hour. Range is 0 to 23.
TInt aMinute Minute. Range is 0 to 59.
TInt aSecond Second. Range is 0 to 59.
TInt aMicroSecond Microsecond. Range is 0 to 999999.

SetDay(TInt)

IMPORT_C TInt SetDay ( TInt aDay )

Sets the day component of the date/time.

Parameters

TInt aDay The number of the day within the month, offset from zero. If equal to or greater than the total number of days in the month, an error is returned.

SetHour(TInt)

IMPORT_C TInt SetHour ( TInt aHour )

Sets the hour component of the date/time.

Parameters

TInt aHour The hour. Range is 0 to 23.

SetMicroSecond(TInt)

IMPORT_C TInt SetMicroSecond ( TInt aMicroSecond )

Sets the microsecond component of the date/time.

Parameters

TInt aMicroSecond The microsecond. Range is 0 to 999999.

SetMinute(TInt)

IMPORT_C TInt SetMinute ( TInt aMinute )

Sets the minute component of the date/time.

Parameters

TInt aMinute The minute. Range is 0 to 59.

SetMonth(TMonth)

IMPORT_C TInt SetMonth ( TMonth aMonth )

Sets the month component of the date/time.

Parameters

TMonth aMonth The month to be set. The range is from EJanuary to EDecember. If an attempt is made to set an invalid month, or if the current day number in the month is greater than or equal to the number of days in the new month, an error is returned.

SetSecond(TInt)

IMPORT_C TInt SetSecond ( TInt aSecond )

Sets the second component of the date/time.

Parameters

TInt aSecond The second. Range is 0 to 59.

SetYear(TInt)

IMPORT_C TInt SetYear ( TInt aYear )

Sets the year without a leap year check.

No check is made on the validity of the year except that if the current date is February 29th, the year can only be changed to another leap year, otherwise an error is returned.

Parameters

TInt aYear The year.

SetYearLeapCheck(TInt)

IMPORT_C TInt SetYearLeapCheck ( TInt aYear )

Sets the year with a leap year check.

Unlike SetYear() , if the date is the 29th February, this function allows the year to be set to a non-leap year. In this case, the date is reset to the 28th February.

TDateTime::SetYear

Parameters

TInt aYear The year.

Year()

TInt Year ( ) const [inline]

Gets the year component of the date/time.

A negative value indicates a BC date.

Member Data Documentation

TInt iDay

TInt iDay [private]

TInt iHour

TInt iHour [private]

TInt iMicroSecond

TInt iMicroSecond [private]

TInt iMinute

TInt iMinute [private]

TMonth iMonth

TMonth iMonth [private]

TInt iSecond

TInt iSecond [private]

TInt iYear

TInt iYear [private]