author | mickeyl <mickeyl> | 2004-02-21 12:25:50 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2004-02-21 12:25:50 (UTC) |
commit | 6155f1be5c19fc51a4929c9e173f9e5a24d193e6 (patch) (side-by-side diff) | |
tree | c18ca863f82a559c60728f922519ac696387ec53 /libopie2/opiepim/core/otimezone.cpp | |
parent | a570c2824fcecaf1c278e1b5a592fa14cc0647f8 (diff) | |
download | opie-6155f1be5c19fc51a4929c9e173f9e5a24d193e6.zip opie-6155f1be5c19fc51a4929c9e173f9e5a24d193e6.tar.gz opie-6155f1be5c19fc51a4929c9e173f9e5a24d193e6.tar.bz2 |
the usual cosmetics
Diffstat (limited to 'libopie2/opiepim/core/otimezone.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opiepim/core/otimezone.cpp | 168 |
1 files changed, 105 insertions, 63 deletions
diff --git a/libopie2/opiepim/core/otimezone.cpp b/libopie2/opiepim/core/otimezone.cpp index dab68af..e67715f 100644 --- a/libopie2/opiepim/core/otimezone.cpp +++ b/libopie2/opiepim/core/otimezone.cpp @@ -22,125 +22,167 @@ -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include "otimezone.h" + +/* STD */ #include <stdio.h> #include <stdlib.h> - #include <sys/types.h> -#include <opie2/otimezone.h> - -namespace Opie { +namespace Opie +{ - 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" ); +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 ); - ::tzset(); - tm* broken = ::localtime( &t ); - ::setenv( "TZ", org, true ); + ::setenv( "TZ", zone.latin1(), true ); + ::tzset(); + + tm* broken = ::localtime( &t ); + ::setenv( "TZ", org, true ); #else #warning "Need a replacement for MacOSX!!" - tm* broken = ::localtime( &t ); + + tm* broken = ::localtime( &t ); #endif - 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; - broken.tm_year = d.year() - 1900; - broken.tm_mon = d.month() - 1; - broken.tm_mday = d.day(); - broken.tm_hour = t.hour(); - broken.tm_min = t.minute(); - broken.tm_sec = t.second(); - - QCString org = ::getenv( "TZ" ); + 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; + broken.tm_year = d.year() - 1900; + broken.tm_mon = d.month() - 1; + broken.tm_mday = d.day(); + broken.tm_hour = t.hour(); + broken.tm_min = t.minute(); + broken.tm_sec = t.second(); + + QCString org = ::getenv( "TZ" ); #ifndef Q_OS_MACX // Following line causes bus errors on Mac - ::setenv( "TZ", str.latin1(), true ); - ::tzset(); - time_t ti = ::mktime( &broken ); - ::setenv( "TZ", org, true ); + ::setenv( "TZ", str.latin1(), true ); + ::tzset(); + + time_t ti = ::mktime( &broken ); + ::setenv( "TZ", org, true ); #else #warning "Need a replacement for MacOSX!!" - time_t ti = ::mktime( &broken ); + + time_t ti = ::mktime( &broken ); #endif - return ti; - } -} -namespace Opie { -OTimeZone::OTimeZone( const ZoneName& zone ) - : m_name(zone) { + return ti; } -OTimeZone::~OTimeZone() { } -bool OTimeZone::isValid()const { +namespace Opie +{ +OTimeZone::OTimeZone( const ZoneName& zone ) + : m_name( zone ) +{} + + +OTimeZone::~OTimeZone() +{} + + +bool OTimeZone::isValid() const +{ return !m_name.isEmpty(); } /* * we will get the current timezone * and ask it to convert to the timezone date */ -QDateTime OTimeZone::toLocalDateTime( const QDateTime& dt) { +QDateTime OTimeZone::toLocalDateTime( const QDateTime& dt ) +{ return OTimeZone::current().toDateTime( dt, *this ); } -QDateTime OTimeZone::toUTCDateTime( const QDateTime& dt ) { + + +QDateTime OTimeZone::toUTCDateTime( const QDateTime& dt ) +{ return OTimeZone::utc().toDateTime( dt, *this ); } -QDateTime OTimeZone::fromUTCDateTime( time_t t) { + + +QDateTime OTimeZone::fromUTCDateTime( time_t t ) +{ return utcTime( t ); } -QDateTime OTimeZone::toDateTime( time_t t) { + + +QDateTime OTimeZone::toDateTime( time_t t ) +{ return utcTime( t, m_name ); } + + /* * convert dt to utc using zone.m_name * convert utc -> timeZoneDT using this->m_name */ -QDateTime OTimeZone::toDateTime( const QDateTime& dt, const OTimeZone& zone ) { +QDateTime OTimeZone::toDateTime( const QDateTime& dt, const OTimeZone& zone ) +{ time_t utc = to_Time_t( dt, zone.m_name ); - qWarning("%d %s", utc, zone.m_name.latin1() ); + qWarning( "%d %s", utc, zone.m_name.latin1() ); return utcTime( utc, m_name ); } -time_t OTimeZone::fromDateTime( const QDateTime& time ) { + + +time_t OTimeZone::fromDateTime( const QDateTime& time ) +{ return to_Time_t( time, m_name ); } -time_t OTimeZone::fromUTCDateTime( const QDateTime& time ) { + + +time_t OTimeZone::fromUTCDateTime( const QDateTime& time ) +{ return to_Time_t( time, "UTC" ); } -OTimeZone OTimeZone::current() { - QCString str = ::getenv("TZ"); + + +OTimeZone OTimeZone::current() +{ + QCString str = ::getenv( "TZ" ); OTimeZone zone( str ); return zone; } -OTimeZone OTimeZone::utc() { - return OTimeZone("UTC"); + + +OTimeZone OTimeZone::utc() +{ + return OTimeZone( "UTC" ); } -QString OTimeZone::timeZone()const { + + +QString OTimeZone::timeZone() const +{ return m_name; } } |