Come forzare QDateTime::fromString per leggere l'ora UTC

Come forzare QDateTime::fromString per leggere l'ora UTC


Ho un input contenente l'ora UTC formattata secondo iso8601. Provo ad analizzarlo usando QDateTime:


  const char* s = "2009-11-05T03:54:00";
d.setTimeSpec(Qt::UTC);
d = QDateTime::fromString(s, Qt::ISODate);
Qt::TimeSpec ts = d.timeSpec();

Quando questo frammento finisce, ts è impostato su localTime e d contiene 3 ore 54 minuti. Qualcuno sa leggere correttamente la data?


Risposte:


Che dire dell'impostazione della specifica del tempo dopo il fromString metodo.


const char* s = "2009-11-05T03:54:00";
d = QDateTime::fromString(s, Qt::ISODate);
d.setTimeSpec(Qt::UTC);
Qt::TimeSpec ts = d.timeSpec();

Alcune risposte al codice


  const char* s = "2009-11-05T03:54:00";
d.setTimeSpec(Qt::UTC);
d = QDateTime::fromString(s, Qt::ISODate);
Qt::TimeSpec ts = d.timeSpec();
const char* s = "2009-11-05T03:54:00";
d = QDateTime::fromString(s, Qt::ISODate);
d.setTimeSpec(Qt::UTC);
Qt::TimeSpec ts = d.timeSpec();

No