2010-02-15 5 views
10

iso8601에 따라 형식이 지정된 UTC 시간을 포함하는 입력이 있습니다. I는 QDateTime 사용하여 해석하려고하면QDateTime :: fromString이 UTC 시간을 읽도록하는 방법

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

단편이 종료 ts localtime 함수로 설정되고 d 3 시간 54분를 포함한다. 누구든지 날짜를 올바르게 읽는 법을 알고 있습니까?

답변

11

fromString 이후의 시간 설정은 어떻게됩니까?

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

감사합니다. 나는이 주위에 내 머리를 감싸고 있지만 작동하지 않습니다! – danatel

+0

'd = QDateTime :: fromString (s, Qt :: ISODate);을 쓸 때 'd'를 처음 선언 할 때'd '의 현재 값은'fromString '. 그래서'fromString'을 호출하기 전에 시간 스펙을 설정하면, 디폴트 스펙 값에 대한 시간 스펙이 정의됩니다. – gregseth