için UTC bir QDateTime dönüştürme:Böyle bir dizeden bir QDateTime inşa yerel sistem saati
QDateTime date = QDateTime::fromString("2010-10-25T10:28:58.570Z", "yyyy-MM-ddTHH:mm:ss.zzzZ");
Bunun depolandığı yolu olduğu için date
UTC olduğunu biliyoruz. Ancak bu tarihi kullanıcıya göstermek istediğimde, kullanıcının yerel saat diliminde olması gerekir. date.toLocalTime()
ümit verici görünüyor, ancak aynı tarihi döndürüyor!
Kullanıcıya görüntülemek için sistemin yerel saatine date
nasıl dönüştürebilirim?
#include <QtCore/QCoreApplication>
#include <QtCore/QDateTime>
#include <QtCore/QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QDateTime date = QDateTime::fromString("2010-10-25T10:28:58.570Z", "yyyy-MM-ddTHH:mm:ss.zzzZ");
QDateTime local = date.toLocalTime();
qDebug() << "utc: " << date;
qDebug() << "local: " << local.toString();
qDebug() << "hax: " << local.toString(Qt::SystemLocaleLongDate);
return a.exec();
}
Çıktı:
utc: QDateTime("Mon Oct 25 10:28:58 2010")
local: "Mon Oct 25 10:28:58 2010"
hax: "Monday, October 25, 2010 10:28:58 AM"
bunu denedi, işe yaramadı. sorgulanacak düzenlemeleri gör – andrewrk