diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2016-05-16 11:19:18 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2016-05-16 11:19:18 (GMT) |
commit | 9a2c7bbfb0c53b4532db7280e6804c7ce76d70a3 (patch) | |
tree | 26891f6a632f71d977b197d6671261d239ea277c /qtools | |
parent | ab96c077a8cd99308e6ae90c3c861ab1c0e911d7 (diff) | |
parent | 5801460b3141871222569fb99e7964e9a2925d71 (diff) | |
download | Doxygen-9a2c7bbfb0c53b4532db7280e6804c7ce76d70a3.zip Doxygen-9a2c7bbfb0c53b4532db7280e6804c7ce76d70a3.tar.gz Doxygen-9a2c7bbfb0c53b4532db7280e6804c7ce76d70a3.tar.bz2 |
Merge pull request #477 from infinity0/master
Bug 751984 - Use UTC timezone when displaying QDateTimes parsed from SOURCE_DATE_EPOCH
Diffstat (limited to 'qtools')
-rw-r--r-- | qtools/qdatetime.cpp | 23 | ||||
-rw-r--r-- | qtools/qdatetime.h | 1 |
2 files changed, 24 insertions, 0 deletions
diff --git a/qtools/qdatetime.cpp b/qtools/qdatetime.cpp index d0cc36e..88569f8 100644 --- a/qtools/qdatetime.cpp +++ b/qtools/qdatetime.cpp @@ -1158,6 +1158,29 @@ void QDateTime::setTime_t( uint secsSince1Jan1970UTC ) /*! + Sets the UTC date and time given the number of seconds that have passed + since 00:00:00 on January 1, 1970, Coordinated Universal Time (UTC). + + Note that Microsoft Windows supports only a limited range of values for + \a secsSince1Jan1970UTC. +*/ + +void QDateTime::setTimeUtc_t( uint secsSince1Jan1970UTC ) +{ + time_t tmp = (time_t) secsSince1Jan1970UTC; + tm *tM = gmtime( &tmp ); + if ( !tM ) { + d.jd = QDate::greg2jul( 1970, 1, 1 ); + t.ds = 0; + return; + } + d.jd = QDate::greg2jul( tM->tm_year + 1900, tM->tm_mon + 1, tM->tm_mday ); + t.ds = MSECS_PER_HOUR*tM->tm_hour + MSECS_PER_MIN*tM->tm_min + + 1000*tM->tm_sec; +} + + +/*! Returns the datetime as a string. The string format is "Sat May 20 03:40:13 1998". diff --git a/qtools/qdatetime.h b/qtools/qdatetime.h index 2d5869c..010ae73 100644 --- a/qtools/qdatetime.h +++ b/qtools/qdatetime.h @@ -173,6 +173,7 @@ public: void setDate( const QDate &date ) { d=date; } void setTime( const QTime &time ) { t=time; } void setTime_t( uint secsSince1Jan1970UTC ); + void setTimeUtc_t( uint secsSince1Jan1970UTC ); QString toString() const; |