2010-05-06 32 views
37

Tôi đang cố gắng lấy thời gian hiện tại là TimeStamp mà không thành công.Làm thế nào để có được TimeStamp hiện tại?

tôi có mã này:

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); 

Đầu ra là

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

Chính xác thì ý của bạn là gì? Vui lòng cung cấp đầu ra dự kiến. – chalup

+1

unix time == timestamp – user63898

Trả lời

34

Tôi nghĩ rằng bạn đang tìm kiếm chức năng này:

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

uint QDateTime :: toTime_t() const

Trả về ngày giờ làm số giây đã trôi qua kể từ 1970-01-01T00: 00: 00,> Giờ quốc tế phối hợp (Qt :: UTC).

Trên các hệ thống không hỗ trợ múi giờ, chức năng này sẽ hoạt động như thời gian địa phương là Qt :: UTC.

Xem thêm setTime_t().

+1

tôi đã làm điều đó: QDateTime current = QDateTime :: currentDateTime(); uint timestame = current.toTime_t(); , nhưng nó didnt đã cho tôi ngày hiện tại sau khi tôi kiểm tra kết quả ở đây: http://www.4webhelp.net/us/timestamp.php – user63898

+2

chỉ cần cố gắng vượt qua chuỗi trả lại bởi QDateTime :: currentDateTime(). toTime_t() này trang web và có thời gian chính xác. Có thể bạn đã đặt múi giờ sai trong biểu mẫu trên trang web này. – VestniK

+0

Tôi cũng có thời gian chính xác, sử dụng cùng một mã. – Jack

65

Trong Qt 4.7, có chức năng tĩnh QDateTime::currentMSecsSinceEpoch(), thực hiện chính xác những gì bạn cần mà không cần bất kỳ bước trung gian nào. Do đó tôi muốn khuyên bạn nên cho các dự án sử dụng Qt 4.7 hoặc mới hơn.

+9

Lưu ý rằng điều này trả về khoảng thời gian trong ** mili giây ** và không phải giây. Vì vậy, nó không phải là thời gian unix! – drzymala

+2

Đơn giản chỉ cần làm (QDateTime :: currentMSecsSinceEpoch()/1000) mà nên làm cho nó thời gian Unix: P –

+0

Câu trả lời này làm cho tôi lãng phí thời gian! bởi vì đây không phải là thời gian chính xác như @martini đã đề cập. –

Các vấn đề liên quan