C++ QDateTime::toSecsSinceEpoch()似乎不起作用
首先是一些理论: 根据Qt文档,QDateTime::toSecsFromEpoch()函数:C++ QDateTime::toSecsSinceEpoch()似乎不起作用,c++,qt,datetime,epoch,qdatetime,C++,Qt,Datetime,Epoch,Qdatetime,首先是一些理论: 根据Qt文档,QDateTime::toSecsFromEpoch()函数: #include <QtCore> #include <iostream> int main() { QDateTime* time = new QDateTime(QDateTime::currentDateTime()); QString secs1 = QString::number(time->toSecsSinceEpoch());
#include <QtCore>
#include <iostream>
int main()
{
QDateTime* time = new QDateTime(QDateTime::currentDateTime());
QString secs1 = QString::number(time->toSecsSinceEpoch());
std::cout << secs1.toStdString() << std::endl;
std::this_thread::sleep_for(std::chrono::milliseconds(10000));
QString secs2 = QString::number(time->toSecsSinceEpoch());
std::cout << secs2.toStdString();
}
返回日期时间,作为自协调世界时1970-01-01T00:00:00.000以来已过的秒数
以及:
[…]对于所有有效日期,此函数返回唯一值
下面是Qt文档中对该特定函数描述的详细说明
我的实现
下面是几行试图利用此函数功能的代码:
#include <QtCore>
#include <iostream>
int main()
{
QDateTime* time = new QDateTime(QDateTime::currentDateTime());
QString secs1 = QString::number(time->toSecsSinceEpoch());
std::cout << secs1.toStdString() << std::endl;
std::this_thread::sleep_for(std::chrono::milliseconds(10000));
QString secs2 = QString::number(time->toSecsSinceEpoch());
std::cout << secs2.toStdString();
}
等待10秒钟后,secs2
的值应该不同。我不知道为什么不是
QDateTime对象是否以错误的方式初始化?或者可能是某个系统相关的错误?我搜索了与我的问题相关的信息,但什么也没找到。请帮助。QDateTime不会持续更新。它存储特定的日期和时间。所以无论你等待多久,它都会给你同样的价值。要修复代码,可以执行以下操作:
QDateTime time1 = QDateTime::currentDateTime();
QString secs1 = QString::number(time1.toSecsSinceEpoch());
std::cout << secs1.toStdString() << std::endl;
std::this_thread::sleep_for(std::chrono::milliseconds(10000));
QDateTime time2 = QDateTime::currentDateTime();
QString secs2 = QString::number(time2.toSecsSinceEpoch());
std::cout << secs2.toStdString();
QDateTime time1=QDateTime::currentDateTime();
QString secs1=QString::number(time1.toSecsSinceEpoch());
标准::cout
“现在,secs1和secs2变量应该包含不同的值,但情况并非如此…”
不,他们不
QDateTime
不是时钟,它只是一个将任何给定时刻表示为DateTime对象的类。“等待10秒后,秒2的值应该不同”
:不,time
仍然是指构建它的时间值。谢谢!我很抱歉没有深入阅读这些文件。谢谢!如果我只是更深入地阅读这些文档,我会明白的,但是疲劳成功地阻止了我这么做,哈哈。