35class QDateTimePrivate :
public QSharedData
39 typedef QDateTime::ShortData QDateTimeShortData;
40 typedef QDateTime::Data QDateTimeData;
55 UnknownDaylightTime = -1,
70 SetToStandardTime = 0x40,
71 SetToDaylightTime = 0x80,
72 ValidityMask = ValidDate | ValidTime | ValidDateTime,
73 DaylightMask = SetToStandardTime | SetToDaylightTime,
75 Q_DECLARE_FLAGS(StatusFlags, StatusFlag)
78 enum TransitionOption {
86 FlipForReverseDst = 0x400,
88 GapMask = GapUseBefore | GapUseAfter,
89 FoldMask = FoldUseBefore | FoldUseAfter,
91 Q_DECLARE_FLAGS(TransitionOptions, TransitionOption)
100 DaylightStatus dst = UnknownDaylightTime;
104 ZoneState(qint64 local) : when(local) {}
105 ZoneState(qint64 w,
int o, DaylightStatus d,
bool v =
true)
106 : when(w), offset(o), dst(d), valid(v) {}
109 static QDateTime::Data create(QDate toDate, QTime toTime,
const QTimeZone &timeZone,
110 QDateTime::TransitionResolution resolve);
111#if QT_CONFIG(timezone)
112 static ZoneState zoneStateAtMillis(
const QTimeZone &zone, qint64 millis,
113 TransitionOptions resolve);
116 static ZoneState expressUtcAsLocal(qint64 utcMSecs);
118 static ZoneState localStateAtMillis(qint64 millis, TransitionOptions resolve);
119 static QString localNameAtMillis(qint64 millis, DaylightStatus dst);
121 StatusFlags m_status = StatusFlag(Qt::LocalTime << TimeSpecShift);
123 int m_offsetFromUtc = 0;
124 QTimeZone m_timeZone;