Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使Qt将QVariant视为UTC时间戳?_Qt_Sqlite_Time - Fatal编程技术网

如何使Qt将QVariant视为UTC时间戳?

如何使Qt将QVariant视为UTC时间戳?,qt,sqlite,time,Qt,Sqlite,Time,我的SQLite数据库中有UTC时间戳。当我尝试使用SELECT QSqlQuery和QSqlQuery::value()获取其中一个变量时,它将返回一个QVariant。如果我执行QVariant::toDateTime(),Qt将把时间戳视为本地时间,而不是UTC。如何消除这种不正确的调整?要将时区重置为UTC,您可以使用设置零偏移。 它将更改QDateTime对象。因此,它将引用一个不同的时间点,而不是将datetime转换为UTC的QDateTime::toUTC() QDateTime

我的SQLite数据库中有UTC时间戳。当我尝试使用SELECT QSqlQuery和QSqlQuery::value()获取其中一个变量时,它将返回一个QVariant。如果我执行QVariant::toDateTime(),Qt将把时间戳视为本地时间,而不是UTC。如何消除这种不正确的调整?

要将时区重置为UTC,您可以使用设置零偏移。 它将更改
QDateTime
对象。因此,它将引用一个不同的时间点,而不是将datetime转换为UTC的
QDateTime::toUTC()

QDateTime datetime(qvariant.toDateTime());
datetime.setOffsetFromUtc(0);

你能不能把它作为一个字符串抓取,然后从中创建一个时间戳?
QVariant::toDateTime()
QDateTime::fromString()
都将时间戳视为本地的。