KDateTime::currentUtcDateTime()
Nicolas Goutte
nicolasg at snafu.de
Fri Jul 28 21:52:29 BST 2006
On Friday 28 July 2006 12:53, David Jarvie wrote:
> On Friday 28 Jul 206 10:08, Peter_Kümmel wrote:
> >David Jarvie wrote:
> >> On Thursday 27 Jul 2006 18:19, Peter Kümmel wrote:
> >>> Peter Kümmel wrote:
> >>>> Why could we not also use the unix code on windows?
> >>>> No problem with compiling.
> >>
> >> If the UNIX code works on Windows, fine. I simply copied from the way
>
> that
>
> >> QDateTime::currentDateTime() works, with suitable modification to fetch
> >> the UTC time rather than the local time. The Windows code is untested,
>
> but
>
> >> it's simple enough to be reasonably confident that it will work.
> >>
> >>>> KDateTime KDateTime::currentUtcDateTime()
> >>>> {
> >>>> #ifdef Q_OS_WIN
> >>>> memset(&st, 0, sizeof(SYSTEMTIME));
> >>>> GetSystemTime(&st);
> >>>> return KDateTime(QDate(st.wYear, st.wMonth, st.wDay),
> >>>> QTime(st.wHour, st.wMinute, st.wSecond,
> >>
> >> st.wMilliseconds),
> >>
> >>>> Spec(UTC));
> >>>> #else
> >>>> time_t t;
> >>>>
> >>>> ::time(&t);
> >>>>
> >>>> KDateTime result;
> >>>> result.setTime_t(static_cast(t));
> >>>> return result;
> >>>> #endif
> >>>> }
> >>>>
> >>>> Peter
> >>>
> >>> Shouldn't the windows specific code not be part of the KDateTime
> >>
> >> constructor?
> >>
> >> The KDateTime constructor does not fetch the current time, so there is
>
> no
>
> >> reason why this code should be in the constructor.
> >
> >OK, so the windows code does too much, and we could remove it.
>
> I'm not sure what you mean. Are you saying that we should use the UNIX
> code for Windows, i.e. delete the Windows-specific code and remove the
> #ifdef? If so, why does QDateTime::currentDateTime() use different code
> for UNIX and Windows?
I could image that Trolltech wants to avoid to use a Unix layer in Windows and
prefers to use directly the Windows API.
I do not know if it has a specific issue here in QDateTime but for certain
part of Qt code this means a difference, e.g. Unicode file names in QFile.
>
> --
> David Jarvie.
Have a nice day!
More information about the kde-core-devel
mailing list