12 #include <QSharedData>
14 class KDDateTimeData :
public QSharedData
21 : d(new KDDateTimeData)
33 , d(new KDDateTimeData)
40 QDateTime::operator=(rhs);
50 KDDateTime::operator QVariant()
const
52 return QVariant::fromValue(*
this);
66 if (
timeZone == QLatin1String(
"Z")) {
69 setTimeSpec(Qt::LocalTime);
71 setTimeSpec(Qt::OffsetFromUTC);
72 const int pos =
timeZone.indexOf(QLatin1Char(
':'));
74 const int hours =
timeZone.left(pos).toInt();
75 const int minutes =
timeZone.mid(pos + 1).toInt();
76 const int offset = hours * 3600 + minutes * 60;
77 setOffsetFromUtc(offset);
86 QString baseString = s;
87 if (s.endsWith(QLatin1Char(
'Z'))) {
88 tz = QString::fromLatin1(
"Z");
91 QString maybeTz = s.right(6);
92 if (maybeTz.startsWith(QLatin1Char(
'+')) || maybeTz.startsWith(QLatin1Char(
'-'))) {
98 kdt = QDateTime::fromString(baseString, Qt::ISODate);
108 str = toString(QLatin1String(
"yyyy-MM-ddThh:mm:ss.zzz"));
111 str = toString(Qt::ISODate);
KDDateTime & operator=(const KDDateTime &)
static KDDateTime fromDateString(const QString &s)
QString toDateString() const
void setTimeZone(const QString &timeZone)