Kysymystä Qt liittyen (QDateTime)

Viestiketju alueella 'Ohjelmointi' , aloittaja Juuna_, 28.02.2016.

NOSTOJA MUROPAKETIN SISÄLLÖSTÄ
  1. Juuna_

    Rekisteröitynyt:
    21.10.2011
    Viestejä:
    2 947
    Teen ohjelmaa joka lukee rss feedistä tietoja. Kaikki toimii täydellisesti, mutta rss feedistä löytyvä aika on GMT ajassa, eli haluaisin lisätä siihen kaksi tuntia.
    Olen siis yrittänyt muuttaa feedistä tulevaa päiväystä/aikaa QDateTime muotoon, lisätä tunnit ja kääntää siitä taas QString muita käyttötarkotuksia varten. Mutta jostain syystä tuo tuottaa vain tyhjän stringin (eli aikatieto on muka invalid).

    Esimerkki koodinpätkä:
    Koodi:
    QString aika;
    aika=pubDate.text(); // pubDate on QDomElement, joka saa tietoa RFC2822 standardi muodossa Esimerkki: "Sun, 28 Feb 2016 23:00:00 GMT"
    
    QDateTime testiAika;
    testiAika.QDateTime::fromString(aika, Qt::RFC2822Date); //
    testiAika.addSecs(7200);
    qDebug() << testiAika.QDateTime::toString() << endl; // Testaa output
    
    Output:
    Koodi:
    ""
    
    Output on tyhjä. Aika on RFC2822 standardi muodossa enkä ymmärrä missä vika. Tulee tyhjä string vaikka jättäisi tuon addSecs vaiheen pois. Ja kyllä, "QString aika" saa oikean stringin.

    Vinkkejä?

    Edit: Niin ja tosiaan jos käytän tuota "aika" stringiä suoraan, niin ohjelma toimii normaalisti, mutta aika tietenkin on kaks tuntia jäljessä.
    [​IMG]
     
    Viimeksi muokattu: 28.02.2016
  2. Tseh

    Rekisteröitynyt:
    24.01.2006
    Viestejä:
    1 063
    Sen verran katsoin että fromString- ja addSecs-funktiot palauttavat QDateTime-objektin, eivät aseta arvoja suoraan kutsuvan objektin muuttujiin. Tällä tiedolla pitäisi olla aika simppeli korjata.
     
  3. linuxisnotunix

    Rekisteröitynyt:
    21.05.2014
    Viestejä:
    443
  4. Juuna_

    Rekisteröitynyt:
    21.10.2011
    Viestejä:
    2 947
    Jep, kiitoksia vinkeistä. Nyt toimii.
    Koodi:
    QDateTime testiAika(QDateTime::fromString(aika, Qt::RFC2822Date));
    qDebug() << testiAika.toLocalTime().toString() << endl;
    
     

Jaa tämä sivu

Alibi
Anna
Deko
Dome
Erä
Hymy
Kaksplus
Kippari
Kotilääkäri
Kotiliesi
Koululainen
Ruoka.fi
Parnasso
Seura
Suomen Kuvalehti
TM Rakennusmaailma
Tekniikan Maailma
Vauhdin Maailma
Golfpiste
Vene
Nettiauto
Ampparit
Plaza
Muropaketti