@@ -176,22 +176,26 @@ QString TimeFormatter::formatTime() const
176176 return QDateTime::fromMSecsSinceEpoch(time() / 1000).toString(format());
177177}
178178
179−StrFTimeFormatter::StrFTimeFormatter(QObject* parent)
179+GDateTimeFormatter::GDateTimeFormatter(QObject* parent)
180180: TimeFormatter(parent)
181181{
182182}
183183
184−QString StrFTimeFormatter::formatTime() const
184+QString GDateTimeFormatter::formatTime() const
185185{
186− time_t rawtime;
187− struct tm * timeinfo;
188− char buffer [80];
186+ gchar* time_string;
187+ GDateTime* datetime;
188+ QByteArray formatBytes = format().toUtf8();
189189
190− rawtime = time();
191− timeinfo = localtime (&rawtime);
190+ datetime = g_date_time_new_from_unix_local(time());
191+ if (!datetime) {
192+ return "";
193+ }
192194
193− QByteArray formatBytes = format().toUtf8();
195+ time_string = g_date_time_format(datetime, formatBytes.constData());
196+ QString formattedTime(time_string);
194197
195− strftime (buffer, 80, formatBytes.constData(), timeinfo);
196− return QString(buffer);
198+ g_free(time_string);
199+ g_date_time_unref(datetime);
200+ return formattedTime;
197201}