2010-05-06 17 views
37

Sto cercando di ottenere l'ora corrente come TimeStamp senza successo.Come ottenere l'attuale TimeStamp?

ho questo codice:

QDateTime setTime = QDateTime::fromString (QString("1970-07-18T14:15:09"), Qt::ISODate); 
QDateTime current = QDateTime::currentDateTime(); 
uint msecs = setTime.time().msecsTo(current.time()); 

return QString::number(msecs); 

L'uscita è

Sunday, January 25th 1970, 03:17:35 (GMT) 
+0

Che cosa intendi esattamente per timestamp? Si prega di fornire l'output previsto. – chalup

+1

tempo unix == timestamp – user63898

risposta

34

Penso che si sta cercando per questa funzione:

http://doc.qt.io/qt-5/qdatetime.html#toTime_t

uint QDateTime :: toTime_t() const

Restituisce il datetime come il numero di secondi trascorsi dal 1970-01-01T00: 00: 00,> Coordinated Universal Time (Qt :: UTC).

Sui sistemi che non supportano i fusi orari, questa funzione si comporterà come se l'ora locale fosse Qt :: UTC.

Vedere anche setTime_t().

+1

l'ho fatto: QDateTime current = QDateTime :: currentDateTime(); uint timestame = current.toTime_t(); , ma non mi ha dato la data corrente dopo aver testato il risultato qui: http://www.4webhelp.net/us/timestamp.php – user63898

+2

ha appena provato la stringa passata restituita da QDateTime :: currentDateTime(). aTime_t() a questo sito e ottenuto il tempo corretto. Forse hai impostato il fuso orario sbagliato nel modulo su questo sito. – VestniK

+0

Ho anche ottenuto l'ora esatta, usando lo stesso codice. – Jack

65

In Qt 4.7, c'è la funzione statica QDateTime::currentMSecsSinceEpoch(), che fa esattamente ciò che è necessario, senza passaggi intermedi. Quindi lo consiglierei per progetti che usano Qt 4.7 o più recente.

+9

Si noti che questo restituisce l'intervallo in ** millisecondi ** e non secondi. Quindi non è tempo unix! – drzymala

+2

Basta fare (QDateTime :: currentMSecsSinceEpoch()/1000) che dovrebbe renderlo tempo Unix: P –

+0

Questa risposta mi fa perdere tempo! perché questo non è esattamente unix time come menzionato da @martini. –

Problemi correlati