Skip to content
Permalink
Browse files

Merge pull request #477 from infinity0/master

Bug 751984 - Use UTC timezone when displaying QDateTimes parsed from SOURCE_DATE_EPOCH
  • Loading branch information
Dimitri van Heesch
Dimitri van Heesch committed May 16, 2016
2 parents ab96c07 + 5801460 commit 9a2c7bbfb0c53b4532db7280e6804c7ce76d70a3
Showing with 25 additions and 1 deletion.
  1. +23 −0 qtools/qdatetime.cpp
  2. +1 −0 qtools/qdatetime.h
  3. +1 −1 src/util.cpp
@@ -1157,6 +1157,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.
@@ -173,6 +173,7 @@ class Q_EXPORT QDateTime
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;

@@ -2582,7 +2582,7 @@ QCString dateToString(bool includeTime)
}
else // all ok, replace current time with epoch value
{
current.setTime_t((ulong)epoch); // TODO: add support for 64bit epoch value
current.setTimeUtc_t((ulong)epoch); // TODO: add support for 64bit epoch value
}
}
return theTranslator->trDateTime(current.date().year(),

0 comments on commit 9a2c7bb

Please sign in to comment.
You can’t perform that action at this time.