mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-12-11 05:03:16 +01:00
[Refactor] refactor function that forms human readable text out of a timeoffset
This commit is contained in:
@@ -952,4 +952,40 @@ QString formatTimeOffset(int64_t nTimeOffset)
|
||||
return QString(QObject::tr("%1 s")).arg(QString::number((int)nTimeOffset, 10));
|
||||
}
|
||||
|
||||
QString formateNiceTimeOffset(qint64 secs)
|
||||
{
|
||||
// Represent time from last generated block in human readable text
|
||||
QString timeBehindText;
|
||||
const int HOUR_IN_SECONDS = 60*60;
|
||||
const int DAY_IN_SECONDS = 24*60*60;
|
||||
const int WEEK_IN_SECONDS = 7*24*60*60;
|
||||
const int YEAR_IN_SECONDS = 31556952; // Average length of year in Gregorian calendar
|
||||
if(secs < 60)
|
||||
{
|
||||
timeBehindText = QObject::tr("%n seconds(s)","",secs);
|
||||
}
|
||||
else if(secs < 2*HOUR_IN_SECONDS)
|
||||
{
|
||||
timeBehindText = QObject::tr("%n minutes(s)","",secs/60);
|
||||
}
|
||||
else if(secs < 2*DAY_IN_SECONDS)
|
||||
{
|
||||
timeBehindText = QObject::tr("%n hour(s)","",secs/HOUR_IN_SECONDS);
|
||||
}
|
||||
else if(secs < 2*WEEK_IN_SECONDS)
|
||||
{
|
||||
timeBehindText = QObject::tr("%n day(s)","",secs/DAY_IN_SECONDS);
|
||||
}
|
||||
else if(secs < YEAR_IN_SECONDS)
|
||||
{
|
||||
timeBehindText = QObject::tr("%n week(s)","",secs/WEEK_IN_SECONDS);
|
||||
}
|
||||
else
|
||||
{
|
||||
qint64 years = secs / YEAR_IN_SECONDS;
|
||||
qint64 remainder = secs % YEAR_IN_SECONDS;
|
||||
timeBehindText = QObject::tr("%1 and %2").arg(QObject::tr("%n year(s)", "", years)).arg(QObject::tr("%n week(s)","", remainder/WEEK_IN_SECONDS));
|
||||
}
|
||||
return timeBehindText;
|
||||
}
|
||||
} // namespace GUIUtil
|
||||
|
||||
Reference in New Issue
Block a user