DCMTK Version 3.6.7
OFFIS DICOM Toolkit
Public Member Functions | Static Public Member Functions | Private Attributes | Friends | List of all members
OFDateTime Class Reference

This class is a combination of OFDate and OFTime. More...

Public Member Functions

 OFDateTime ()
 default constructor. More...
 
 OFDateTime (const OFDateTime &dateTime)
 copy constructor More...
 
 OFDateTime (const OFDate &dateVal, const OFTime &timeVal)
 copy constructor More...
 
 OFDateTime (const unsigned int year, const unsigned int month, const unsigned int day, const unsigned int hour, const unsigned int minute, const double second, const double timeZone=0)
 constructor More...
 
virtual ~OFDateTime ()
 destructor
 
virtual OFDateTimeoperator= (const OFDateTime &dateTime)
 assignment operator More...
 
virtual OFBool operator== (const OFDateTime &dateTime) const
 comparison operator (equal). More...
 
virtual OFBool operator!= (const OFDateTime &dateTime) const
 comparison operator (unequal). More...
 
virtual OFBool operator< (const OFDateTime &dateTime) const
 comparison operator (less than). More...
 
virtual OFBool operator<= (const OFDateTime &dateTime) const
 comparison operator (less than or equal). More...
 
virtual OFBool operator>= (const OFDateTime &dateTime) const
 comparison operator (greater than or equal). More...
 
virtual OFBool operator> (const OFDateTime &dateTime) const
 comparison operator (greater than). More...
 
virtual void clear ()
 reset the date/time value. More...
 
virtual OFBool isValid () const
 check whether the currently stored date and time value is valid. More...
 
OFBool setDateTime (const unsigned int year, const unsigned int month, const unsigned int day, const unsigned int hour, const unsigned int minute, const double second, const double timeZone=0)
 set the date/time value. More...
 
OFBool setDate (const OFDate &dateVal)
 set the date component to the specified date. More...
 
OFBool setTime (const OFTime &timeVal)
 set the time component to the specified time. More...
 
OFBool setDateTime (const OFDate &dateVal, const OFTime &timeVal)
 set the date and time component to the specified date/time. More...
 
OFBool setCurrentDateTime ()
 set the date and time value to the current system date and time. More...
 
OFBool setISOFormattedDateTime (const OFString &formattedDateTime)
 set the date/time value to the given ISO formatted date/time string. More...
 
const OFDategetDate () const
 get the current date component More...
 
const OFTimegetTime () const
 get the current time component More...
 
OFBool getISOFormattedDateTime (OFString &formattedDateTime, const OFBool showSeconds=OFTrue, const OFBool showFraction=OFFalse, const OFBool showTimeZone=OFFalse, const OFBool showDelimiter=OFTrue, const OFString &dateTimeSeparator=" ", const OFString &timeZoneSeparator=" ") const
 get the current date/time value in ISO format. More...
 

Static Public Member Functions

static OFDateTime getCurrentDateTime ()
 get the current system date and time More...
 

Private Attributes

OFDate Date
 currently stored date value
 
OFTime Time
 currently stored time value
 

Friends

class DcmDateTime
 let DcmDateTime access the members directly
 
class DcmAttributeMatching
 let DcmAttributeMatching access the members directly
 

Detailed Description

This class is a combination of OFDate and OFTime.

Note
Please note that support for the leap second is limited: a value of 60 seconds is accepted (i.e. regarded as valid) but calculations based on such a time value might be incorrect.

Constructor & Destructor Documentation

◆ OFDateTime() [1/4]

OFDateTime::OFDateTime ( )

default constructor.

Initializes Date and Time to 0.

◆ OFDateTime() [2/4]

OFDateTime::OFDateTime ( const OFDateTime dateTime)

copy constructor

Parameters
dateTimedate/time object to be copied

◆ OFDateTime() [3/4]

OFDateTime::OFDateTime ( const OFDate dateVal,
const OFTime timeVal 
)

copy constructor

Parameters
dateValdate object to be copied
timeValtime object to be copied

◆ OFDateTime() [4/4]

OFDateTime::OFDateTime ( const unsigned int  year,
const unsigned int  month,
const unsigned int  day,
const unsigned int  hour,
const unsigned int  minute,
const double  second,
const double  timeZone = 0 
)

constructor

Parameters
yearyear value to be set
monthmonth value to be set
daynew value to be set
hourhour value to be set
minuteminute value to be set
secondsecond value to be set (incl. fraction of seconds)
timeZoneoptional offset to Coordinated Universal Time (UTC) in hours

Member Function Documentation

◆ clear()

virtual void OFDateTime::clear ( )
virtual

reset the date/time value.

Sets all date and all time components to '0'. NB: Date becomes invalid.

◆ getCurrentDateTime()

static OFDateTime OFDateTime::getCurrentDateTime ( )
static

get the current system date and time

Returns
date/time object with the current system date and time set

◆ getDate()

const OFDate & OFDateTime::getDate ( ) const

get the current date component

Returns
reference to date object

◆ getISOFormattedDateTime()

OFBool OFDateTime::getISOFormattedDateTime ( OFString formattedDateTime,
const OFBool  showSeconds = OFTrue,
const OFBool  showFraction = OFFalse,
const OFBool  showTimeZone = OFFalse,
const OFBool  showDelimiter = OFTrue,
const OFString dateTimeSeparator = " ",
const OFString timeZoneSeparator = " " 
) const

get the current date/time value in ISO format.

The two ISO time formats supported by this function are

  • "YYYY-MM-DD HH:MM[:SS[.FFFFFF]] [&ZZ:ZZ]" (with delimiters) and
  • "YYYYMMDDHHMM[SS[.FFFFFF]][&ZZZZ]" (without delimiters, useful for DICOM datetime type) where the brackets enclose optional parts.
    Parameters
    formattedDateTimereference to string variable where the result is stored
    showSecondsadd optional seconds (":SS" or "SS") to the resulting string if OFTrue
    showFractionadd optional fractional part of a second (".FFFFFF") if OFTrue. Requires parameter 'seconds' to be also OFTrue.
    showTimeZoneadd optional time zone ("&ZZ:ZZ" or "&ZZZZ") to the resulting string if OFTrue. The time zone indicates the offset from the Coordinated Universal Time (UTC) in hours and minutes. The "&" is a placeholder for the sign symbol ("+" or "-").
    showDelimiterflag, indicating whether to use delimiters ("-", ":" and " ") or not
    dateTimeSeparatorseparator between ISO date and time value. Only used if 'showDelimiter' is true.
    timeZoneSeparatorseparator between ISO time value and time zone. Only used if 'showDelimiter' is true.
    Returns
    OFTrue if result variable has been set, OFFalse otherwise

◆ getTime()

const OFTime & OFDateTime::getTime ( ) const

get the current time component

Returns
reference to time object

◆ isValid()

virtual OFBool OFDateTime::isValid ( ) const
virtual

check whether the currently stored date and time value is valid.

See classes OFDate and OFTime for details.

Returns
OFTrue if the current value is valid, OFFalse otherwise

◆ operator!=()

virtual OFBool OFDateTime::operator!= ( const OFDateTime dateTime) const
virtual

comparison operator (unequal).

Please note that the time values are first transformed to the Coordinated Universal Time (UTC) before they are compared. However, the special case that there is an "overflow" from one day to another is currently not handled.

Parameters
dateTimedate and time value compared with the current value
Returns
OFTrue if given date or time is unequal, OFFalse otherwise

◆ operator<()

virtual OFBool OFDateTime::operator< ( const OFDateTime dateTime) const
virtual

comparison operator (less than).

Please note that the time values are first transformed to the Coordinated Universal Time (UTC) before they are compared. However, the special case that there is an "overflow" from one day to another is currently not handled.

Parameters
dateTimedate and time value compared with the current value
Returns
OFTrue if current date and time is earlier than the given value, OFFalse otherwise

◆ operator<=()

virtual OFBool OFDateTime::operator<= ( const OFDateTime dateTime) const
virtual

comparison operator (less than or equal).

Please note that the time values are first transformed to the Coordinated Universal Time (UTC) before they are compared. However, the special case that there is an "overflow" from one day to another is currently not handled.

Parameters
dateTimedate and time value compared with the current value
Returns
OFTrue if current date and time is earlier than or identical to the given value, OFFalse otherwise

◆ operator=()

virtual OFDateTime & OFDateTime::operator= ( const OFDateTime dateTime)
virtual

assignment operator

Parameters
dateTimedate/time value to be set
Returns
reference to this object (with new value)

◆ operator==()

virtual OFBool OFDateTime::operator== ( const OFDateTime dateTime) const
virtual

comparison operator (equal).

Please note that the time values are first transformed to the Coordinated Universal Time (UTC) before they are compared. However, the special case that there is an "overflow" from one day to another is currently not handled.

Parameters
dateTimedate and time value compared with the current value
Returns
OFTrue if given date and time is equal, OFFalse otherwise

◆ operator>()

virtual OFBool OFDateTime::operator> ( const OFDateTime dateTime) const
virtual

comparison operator (greater than).

Please note that the time values are first transformed to the Coordinated Universal Time (UTC) before they are compared. However, the special case that there is an "overflow" from one day to another is currently not handled.

Parameters
dateTimedate and time value compared with the current value
Returns
OFTrue if current date and time is later than the given value, OFFalse otherwise

◆ operator>=()

virtual OFBool OFDateTime::operator>= ( const OFDateTime dateTime) const
virtual

comparison operator (greater than or equal).

Please note that the time values are first transformed to the Coordinated Universal Time (UTC) before they are compared. However, the special case that there is an "overflow" from one day to another is currently not handled.

Parameters
dateTimedate and time value compared with the current value
Returns
OFTrue if current date and time is later than or identical to the given value, OFFalse otherwise

◆ setCurrentDateTime()

OFBool OFDateTime::setCurrentDateTime ( )

set the date and time value to the current system date and time.

This function uses operating system dependent routines. If the date or time function (or both) are unavailable for some reason the corresponding value is not modified.

Returns
OFTrue if the current system date and time has been set, OFFalse otherwise

◆ setDate()

OFBool OFDateTime::setDate ( const OFDate dateVal)

set the date component to the specified date.

Before the new value is set it is checked using the "isValid()" routine.

Parameters
dateValnew date value to be set
Returns
OFTrue if the new value is valid and has been set, OFFalse otherwise

◆ setDateTime() [1/2]

OFBool OFDateTime::setDateTime ( const OFDate dateVal,
const OFTime timeVal 
)

set the date and time component to the specified date/time.

Before the new value is set it is checked using the "isValid()" routine.

Parameters
dateValnew date value to be set
timeValnew time value to be set
Returns
OFTrue if the new value is valid and has been set, OFFalse otherwise

◆ setDateTime() [2/2]

OFBool OFDateTime::setDateTime ( const unsigned int  year,
const unsigned int  month,
const unsigned int  day,
const unsigned int  hour,
const unsigned int  minute,
const double  second,
const double  timeZone = 0 
)

set the date/time value.

Before the new value is set it is checked using the "isValid()" routine.

Parameters
yearnew year value to be set
monthnew month value to be set
daynew day value to be set
hournew hour value to be set
minutenew minute value to be set
secondnew second value to be set (incl. fraction of seconds)
timeZoneoptional offset to Coordinated Universal Time (UTC) in hours
Returns
OFTrue if the new value is valid and has been set, OFFalse otherwise

◆ setISOFormattedDateTime()

OFBool OFDateTime::setISOFormattedDateTime ( const OFString formattedDateTime)

set the date/time value to the given ISO formatted date/time string.

The two ISO date/time formats supported by this function are

  • "YYYY-MM-DD HH:MM[:SS [&ZZ:ZZ]]" (with arbitrary delimiters) and
  • "YYYYMMDDHHMM[SS[&ZZZZ]]" (without delimiters, useful for DICOM datetime type) where the brackets enclose optional parts. Please note that the optional fractional part of a second ".FFFFFF" (see getISOFormattedDateTime()) is not yet supported.
    Parameters
    formattedDateTimeISO formatted date/time value to be set
    Returns
    OFTrue if input is valid and result variable has been set, OFFalse otherwise

◆ setTime()

OFBool OFDateTime::setTime ( const OFTime timeVal)

set the time component to the specified time.

Before the new value is set it is checked using the "isValid()" routine.

Parameters
timeValnew time value to be set
Returns
OFTrue if the new value is valid and has been set, OFFalse otherwise

The documentation for this class was generated from the following file:


Generated on Fri Apr 19 2024 for DCMTK Version 3.6.7 by Doxygen 1.9.4