Diffstat (limited to 'libopie2/opiepim/core/opimtimezone.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opiepim/core/opimtimezone.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/libopie2/opiepim/core/opimtimezone.cpp b/libopie2/opiepim/core/opimtimezone.cpp index fefceb5..5b32b1f 100644 --- a/libopie2/opiepim/core/opimtimezone.cpp +++ b/libopie2/opiepim/core/opimtimezone.cpp @@ -45,12 +45,13 @@ QDateTime utcTime( time_t t ) tm * broken = ::gmtime( &t ); QDateTime ret; ret.setDate( QDate( broken->tm_year + 1900, broken->tm_mon + 1, broken->tm_mday ) ); ret.setTime( QTime( broken->tm_hour, broken->tm_min, broken->tm_sec ) ); return ret; } + QDateTime utcTime( time_t t, const QString& zone ) { QCString org = ::getenv( "TZ" ); #ifndef Q_OS_MACX // Following line causes bus errors on Mac ::setenv( "TZ", zone.latin1(), true ); @@ -67,12 +68,14 @@ QDateTime utcTime( time_t t, const QString& zone ) QDateTime ret; ret.setDate( QDate( broken->tm_year + 1900, broken->tm_mon + 1, broken->tm_mday ) ); ret.setTime( QTime( broken->tm_hour, broken->tm_min, broken->tm_sec ) ); return ret; } + + time_t to_Time_t( const QDateTime& utc, const QString& str ) { QDate d = utc.date(); QTime t = utc.time(); tm broken; @@ -148,27 +151,26 @@ QDateTime OPimTimeZone::toDateTime( time_t t ) /* * convert dt to utc using zone.m_name * convert utc -> timeZoneDT using this->m_name */ QDateTime OPimTimeZone::toDateTime( const QDateTime& dt, const OPimTimeZone& zone ) { - time_t utc = to_Time_t( dt, zone.m_name ); - owarn << "" << utc << " " << zone.m_name << "" << oendl; - return utcTime( utc, m_name ); + time_t utc = to_Time_t( dt, m_name ); + return utcTime( utc, zone.m_name ); } time_t OPimTimeZone::fromDateTime( const QDateTime& time ) { return to_Time_t( time, m_name ); } time_t OPimTimeZone::fromUTCDateTime( const QDateTime& time ) { - return to_Time_t( time, "UTC" ); + return to_Time_t( time, "Europe/London" ); } OPimTimeZone OPimTimeZone::current() { QCString str = ::getenv( "TZ" ); @@ -176,13 +178,13 @@ OPimTimeZone OPimTimeZone::current() return zone; } OPimTimeZone OPimTimeZone::utc() { - return OPimTimeZone( "UTC" ); + return OPimTimeZone( "Europe/London" ); } QString OPimTimeZone::timeZone() const { return m_name; |