34class QDateTimePrivate :
public QSharedData
38 typedef QDateTime::ShortData QDateTimeShortData;
39 typedef QDateTime::Data QDateTimeData;
54 UnknownDaylightTime = -1,
69 SetToStandardTime = 0x40,
70 SetToDaylightTime = 0x80,
71 ValidityMask = ValidDate | ValidTime | ValidDateTime,
72 DaylightMask = SetToStandardTime | SetToDaylightTime,
74 Q_DECLARE_FLAGS(StatusFlags, StatusFlag)
77 enum TransitionOption {
85 FlipForReverseDst = 0x400,
87 GapMask = GapUseBefore | GapUseAfter,
88 FoldMask = FoldUseBefore | FoldUseAfter,
90 Q_DECLARE_FLAGS(TransitionOptions, TransitionOption)
99 DaylightStatus dst = UnknownDaylightTime;
103 ZoneState(qint64 local) : when(local) {}
104 ZoneState(qint64 w,
int o, DaylightStatus d,
bool v =
true)
105 : when(w), offset(o), dst(d), valid(v) {}
108 static QDateTime::Data create(QDate toDate, QTime toTime,
const QTimeZone &timeZone,
109 QDateTime::TransitionResolution resolve);
110#if QT_CONFIG(timezone)
111 static ZoneState zoneStateAtMillis(
const QTimeZone &zone, qint64 millis,
112 TransitionOptions resolve);
115 static ZoneState expressUtcAsLocal(qint64 utcMSecs);
117 static ZoneState localStateAtMillis(qint64 millis, TransitionOptions resolve);
118 static QString localNameAtMillis(qint64 millis, DaylightStatus dst);
120 StatusFlags m_status = StatusFlag(Qt::LocalTime << TimeSpecShift);
122 int m_offsetFromUtc = 0;
123 QTimeZone m_timeZone;