• Skip to content
  • Skip to link menu
KDE 4.0 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KDECore

KTimeZoneData Class Reference
[Time zone classes]

#include <ktimezone.h>

Inheritance diagram for KTimeZoneData:

Inheritance graph
[legend]

List of all members.


Detailed Description

Base class for the parsed data returned by a KTimeZoneSource class.

It contains all the data available from the KTimeZoneSource class, including, when available, a complete list of daylight savings time changes and leap seconds adjustments.

This base class can be instantiated, but contains no data.

Base class for parsed time zone data

See also:
KTimeZone, KTimeZoneSource
Author:
David Jarvie <djarvie@kde.org>.

Definition at line 1295 of file ktimezone.h.


Public Member Functions

 KTimeZoneData ()
 KTimeZoneData (const KTimeZoneData &c)
virtual ~KTimeZoneData ()
KTimeZoneData & operator= (const KTimeZoneData &c)
virtual KTimeZoneData * clone () const
virtual QList< QByteArray > abbreviations () const
virtual QByteArray abbreviation (const QDateTime &utcDateTime) const
virtual QList< int > utcOffsets () const
int previousUtcOffset () const
QList< KTimeZone::Phase > phases () const
virtual bool hasTransitions () const
QList< KTimeZone::Transition > transitions (const QDateTime &start=QDateTime(), const QDateTime &end=QDateTime()) const
const KTimeZone::Transition * transition (const QDateTime &dt, const KTimeZone::Transition **secondTransition=0, bool *validTime=0) const
int transitionIndex (const QDateTime &dt, int *secondIndex=0, bool *validTime=0) const
QList< QDateTime > transitionTimes (const KTimeZone::Phase &phase, const QDateTime &start=QDateTime(), const QDateTime &end=QDateTime()) const
QList< KTimeZone::LeapSeconds > leapSecondChanges () const
KTimeZone::LeapSeconds leapSecondChange (const QDateTime &utc) const

Protected Member Functions

void setPhases (const QList< KTimeZone::Phase > &phases, int previousUtcOffset)
void setTransitions (const QList< KTimeZone::Transition > &transitions)
void setLeapSecondChanges (const QList< KTimeZone::LeapSeconds > &adjusts)

Friends

class KTimeZone

Constructor & Destructor Documentation

KTimeZoneData::KTimeZoneData (  ) 

Definition at line 1066 of file ktimezone.cpp.

KTimeZoneData::KTimeZoneData ( const KTimeZoneData &  c  ) 

Definition at line 1070 of file ktimezone.cpp.

KTimeZoneData::~KTimeZoneData (  )  [virtual]

Definition at line 1081 of file ktimezone.cpp.


Member Function Documentation

KTimeZoneData & KTimeZoneData::operator= ( const KTimeZoneData &  c  ) 

Definition at line 1086 of file ktimezone.cpp.

KTimeZoneData * KTimeZoneData::clone (  )  const [virtual]

Creates a new copy of this object.

The caller is responsible for deleting the copy. Derived classes must reimplement this method to return a copy of the calling instance.

Returns:
copy of this instance

Reimplemented in KSystemTimeZoneData, and KTzfileTimeZoneData.

Definition at line 1097 of file ktimezone.cpp.

QList< QByteArray > KTimeZoneData::abbreviations (  )  const [virtual]

Returns the complete list of time zone abbreviations.

This may include translations.

Returns:
the list of abbreviations. In this base class, it consists of the single string "UTC".
See also:
abbreviation()

Reimplemented in KSystemTimeZoneData.

Definition at line 1102 of file ktimezone.cpp.

QByteArray KTimeZoneData::abbreviation ( const QDateTime &  utcDateTime  )  const [virtual]

Returns the time zone abbreviation current at a specified time.

Parameters:
utcDateTime UTC date/time. An error occurs if utcDateTime.timeSpec() is not Qt::UTC.
Returns:
time zone abbreviation, or empty string if error
See also:
abbreviations()

Reimplemented in KSystemTimeZoneData.

Definition at line 1119 of file ktimezone.cpp.

QList< int > KTimeZoneData::utcOffsets (  )  const [virtual]

Returns the complete list of UTC offsets for the time zone, if the time zone's source makes such information readily available.

If compiling a complete list would require significant processing, an empty list is returned instead.

Returns:
sorted list of UTC offsets, or empty list if not readily available. In this base class, it consists of the single value 0.

Reimplemented in KSystemTimeZoneData.

Definition at line 1132 of file ktimezone.cpp.

int KTimeZoneData::previousUtcOffset (  )  const

Returns the UTC offset to use before the start of data for the time zone.

Returns:
UTC offset

Definition at line 1183 of file ktimezone.cpp.

QList< KTimeZone::Phase > KTimeZoneData::phases (  )  const

Return all daylight savings time phases.

Note that some time zone data sources (such as system time zones accessed via the system libraries) may not allow a list of daylight savings time changes to be compiled easily. In such cases, this method will return an empty list.

Returns:
list of phases

Definition at line 1150 of file ktimezone.cpp.

bool KTimeZoneData::hasTransitions (  )  const [virtual]

Return whether daylight saving transitions are available for the time zone.

The base class returns false.

Returns:
true if transitions are available, false if not
See also:
transitions(), transition()

Reimplemented in KTzfileTimeZoneData.

Definition at line 1161 of file ktimezone.cpp.

QList< KTimeZone::Transition > KTimeZoneData::transitions ( const QDateTime &  start = QDateTime(),
const QDateTime &  end = QDateTime() 
) const

Return all daylight saving transitions, in time order.

If desired, the transitions returned may be restricted to a specified time range.

Note that some time zone data sources (such as system time zones accessed via the system libraries) may not allow a list of daylight saving time changes to be compiled easily. In such cases, this method will return an empty list.

Parameters:
start start date/time, or invalid date/time to return all transitions up to end. start.timeSpec() must be Qt::UTC, else start will be considered invalid.
end end date/time, or invalid date/time for no end. end.timeSpec() must be Qt::UTC, else end will be considered invalid.
Returns:
list of transitions, in time order
See also:
hasTransitions(), transition(), transitionTimes()

Definition at line 1166 of file ktimezone.cpp.

const KTimeZone::Transition * KTimeZoneData::transition ( const QDateTime &  dt,
const KTimeZone::Transition **  secondTransition = 0,
bool *  validTime = 0 
) const

Find the last daylight savings time transition at or before a given UTC or local time.

Because of daylight savings time shifts, a local time may occur twice or may not occur at all. In the former case, the transitions at or before both occurrences of dt may optionally be calculated and returned in secondTransition. The latter case may optionally be detected by use of validTime.

Parameters:
dt date/time. dt.timeSpec() may be set to Qt::UTC or Qt::LocalTime.
secondTransition if non-null, and the dt occurs twice, receives the transition for the second occurrence. Otherwise, it is set the same as the return value.
validTime if non-null, is set to false if dt does not occur, or to true otherwise
Returns:
time zone transition, or null either if dt is either outside the defined range of the transition data or if dt does not occur
See also:
transitionIndex(), hasTransitions(), transitions()

Definition at line 1188 of file ktimezone.cpp.

int KTimeZoneData::transitionIndex ( const QDateTime &  dt,
int *  secondIndex = 0,
bool *  validTime = 0 
) const

Find the index to the last daylight savings time transition at or before a given UTC or local time.

The return value is the index into the transition list returned by transitions().

Because of daylight savings time shifts, a local time may occur twice or may not occur at all. In the former case, the transitions at or before both occurrences of dt may optionally be calculated and returned in secondIndex. The latter case may optionally be detected by use of validTime.

Parameters:
dt date/time. dt.timeSpec() may be set to Qt::UTC or Qt::LocalTime.
secondIndex if non-null, and the dt occurs twice, receives the index to the transition for the second occurrence. Otherwise, it is set the same as the return value.
validTime if non-null, is set to false if dt does not occur, or to true otherwise
Returns:
index into the time zone transition list, or -1 either if dt is either outside the defined range of the transition data or if dt does not occur
See also:
transition(), transitions(), hasTransitions()

Definition at line 1198 of file ktimezone.cpp.

QList< QDateTime > KTimeZoneData::transitionTimes ( const KTimeZone::Phase &  phase,
const QDateTime &  start = QDateTime(),
const QDateTime &  end = QDateTime() 
) const

Return the times of all daylight saving transitions to a given time zone phase, in time order.

If desired, the times returned may be restricted to a specified time range.

Note that some time zone data sources (such as system time zones accessed via the system libraries) may not allow a list of daylight saving time changes to be compiled easily. In such cases, this method will return an empty list.

Parameters:
phase time zone phase
start start UTC date/time, or invalid date/time to return all transitions up to end. start.timeSpec() must be Qt::UTC, else start will be considered invalid.
end end UTC date/time, or invalid date/time for no end. end.timeSpec() must be Qt::UTC, else end will be considered invalid.
Returns:
ordered list of transition times
See also:
hasTransitions(), transition(), transitions()

Definition at line 1275 of file ktimezone.cpp.

QList< KTimeZone::LeapSeconds > KTimeZoneData::leapSecondChanges (  )  const

Return all leap second adjustments, in time order.

Note that some time zone data sources (such as system time zones accessed via the system libraries) may not provide information on leap second adjustments. In such cases, this method will return an empty list.

Returns:
list of adjustments

Definition at line 1292 of file ktimezone.cpp.

KTimeZone::LeapSeconds KTimeZoneData::leapSecondChange ( const QDateTime &  utc  )  const

Find the leap second adjustment which is applicable at a given UTC time.

Parameters:
utc UTC date/time. An error occurs if utc.timeSpec() is not Qt::UTC.
Returns:
leap second adjustment, or invalid if utc is earlier than the first leap second adjustment or utc is a local time

Definition at line 1302 of file ktimezone.cpp.

void KTimeZoneData::setPhases ( const QList< KTimeZone::Phase > &  phases,
int  previousUtcOffset 
) [protected]

Initialise the daylight savings time phase list.

Parameters:
phases list of phases
previousUtcOffset UTC offset to use before the start of the first phase
See also:
phases()

Definition at line 1155 of file ktimezone.cpp.

void KTimeZoneData::setTransitions ( const QList< KTimeZone::Transition > &  transitions  )  [protected]

Initialise the daylight savings time transition list.

Parameters:
transitions list of transitions
See also:
transitions()

Definition at line 1178 of file ktimezone.cpp.

void KTimeZoneData::setLeapSecondChanges ( const QList< KTimeZone::LeapSeconds > &  adjusts  )  [protected]

Initialise the leap seconds adjustment list.

Parameters:
adjusts list of adjustments
See also:
leapSecondChanges()

Definition at line 1297 of file ktimezone.cpp.


Friends And Related Function Documentation

friend class KTimeZone [friend]

Definition at line 1297 of file ktimezone.h.


The documentation for this class was generated from the following files:
  • ktimezone.h
  • ktimezone.cpp

KDECore

Skip menu "KDECore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • KIO
  • KIOSlave
  • KJS
  •   WTF
  • KJSEmbed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  •   core
  • Phonon
  •   Backend
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal