summaryrefslogtreecommitdiffstats
path: root/src/script/utils/qscriptdate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/script/utils/qscriptdate.cpp')
-rw-r--r--src/script/utils/qscriptdate.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/script/utils/qscriptdate.cpp b/src/script/utils/qscriptdate.cpp
index 5980256..3985adb 100644
--- a/src/script/utils/qscriptdate.cpp
+++ b/src/script/utils/qscriptdate.cpp
@@ -320,8 +320,9 @@ qsreal FromDateTime(const QDateTime &dt)
return qSNaN();
if (!LocalTZA) // ### move
LocalTZA = getLocalTZA();
- QDate date = dt.date();
- QTime taim = dt.time();
+ QDateTime utc = dt.toUTC();
+ QDate date = utc.date();
+ QTime taim = utc.time();
int year = date.year();
int month = date.month() - 1;
int day = date.day();
@@ -331,8 +332,6 @@ qsreal FromDateTime(const QDateTime &dt)
int ms = taim.msec();
double t = MakeDate(MakeDay(year, month, day),
MakeTime(hours, mins, secs, ms));
- if (dt.timeSpec() == Qt::LocalTime)
- t = UTC(t);
return TimeClip(t);
}
@@ -348,8 +347,6 @@ QDateTime ToDateTime(qsreal t, Qt::TimeSpec spec)
return QDateTime();
if (!LocalTZA) // ### move
LocalTZA = getLocalTZA();
- if (spec == Qt::LocalTime)
- t = LocalTime(t);
int year = int(YearFromTime(t));
int month = int(MonthFromTime(t) + 1);
int day = int(DateFromTime(t));
@@ -357,7 +354,7 @@ QDateTime ToDateTime(qsreal t, Qt::TimeSpec spec)
int mins = MinFromTime(t);
int secs = SecFromTime(t);
int ms = msFromTime(t);
- return QDateTime(QDate(year, month, day), QTime(hours, mins, secs, ms), spec);
+ return QDateTime(QDate(year, month, day), QTime(hours, mins, secs, ms), Qt::UTC).toTimeSpec(spec);
}
} // namespace QScript