C++ QDateTime::fromMSecsSinceEpoch有问题

C++ QDateTime::fromMSecsSinceEpoch有问题,c++,qt,comparison,qdatetime,C++,Qt,Comparison,Qdatetime,我试着从1970年后的几秒钟读到一段时间。即:startT=1.390309552938E9 因此,我使用: QDateTime time = QDateTime::fromMSecsSinceEpoch(startT*1000); // *1000 because a have seconds while qt expecting milliseconds 现在,我想将此时间与使用QDateTime::toString获得的其他时间进行比较: QDate startDate = QDate:

我试着从1970年后的几秒钟读到一段时间。即:startT=1.390309552938E9

因此,我使用:

QDateTime time = QDateTime::fromMSecsSinceEpoch(startT*1000); // *1000 because a have seconds while qt expecting milliseconds
现在,我想将此时间与使用QDateTime::toString获得的其他时间进行比较:

QDate startDate = QDate::fromString(datestr, "yyyyMMdd");
QTime time = QTime::fromString(timestr, "hhmmss");
QDateTime datetime = QDateTime(date, time, Qt::UTC);
datestr和timestr的示例如下:“20140121”和“130358”

我想比较time和datetime是否等于秒,因此除了毫秒之外,我使用以下方法:

if (time < datetime)
time.toTime_t() == datetime.toTime_t()
然后,我将此信息返回给您:

void Data::setTime(const QDateTime& obTime)
{
    time = QDateTime(obTime);
}
我的时代在哪里

在后面的代码中,我通过以下方式返回值:

QDateTime time = newData.getTime();
任何getTime都是:

QDateTime MetObs::getTime() const
{
    return time;
}
datetime的检索与上述相同。这两种时间定义并不复杂,因为它位于程序的另一个位置

然后我尝试使用:

if (time < datetime)
比较如下:

if (time < datetime)
time.toTime_t() == datetime.toTime_t()
该方法返回自历元起的秒数


注1:为什么使用QTime和QDateTime进行比较?也许比较起来更好,比如:if timetime.toTime_t() == datetime.toTime_t()