- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
如果我使用 QSqlTableModel 访问 MySQL 数据库,我可以使用以下方法转换 TIMESTAMP 字段:
QDateTime dateTime = index(section, column).data().toDateTime();
QString str = dateTime.toString("yyyy-MM-dd hh:mm:ss.zzz");
因此 str
显示,即 2014-06-22 22:11:44.221
。但是我想使用 QSqlQuerry 访问数据库,所以我这样做:
QDateTime dateTime = query.value(column).toDateTime();
str = dateTime.toString("yyyy-MM-dd hh:mm:ss.zzz");
但现在我缺少毫秒,str
显示 2014-06-22 22:11:44.000
。查看毫秒的正确方法是什么?
如果我执行 str = query.value(column).toString();
然后我得到 2014-06-22T22:11:44
。
最佳答案
从这个页面:
https://dev.mysql.com/doc/refman/5.6/en/datetime.html
A DATETIME or TIMESTAMP value can include a trailing fractional seconds part in up to microseconds (6 digits) precision. In particular, as of MySQL 5.6.4, any fractional part in a value inserted into a DATETIME or TIMESTAMP column is stored rather than discarded.
所以,毫秒在MySQL中是有的!但是 query.value()
没有得到它 - 在 Qt 历史的这一点上由 @peppe 指出here .
回到原来的问题:没有正确的方法来查看毫秒,因为查询没有它。一种替代方法是修改查询,从:
SELECT timestamp FROM table;
到
SELECT DATE_FORMAT(timestamp, '%Y-%c-%e %H:%i:%s.%f') as timestamp FROM table;
然后完成工作:
QString str = query.value(column).toString();
QDateTime dateTime = QDateTime::fromString(str, "yyyy-MM-dd hh:mm:ss.zzz000");
我从 here 获得了洞察力.
关于MySQL TIMESTAMP 到 QDateTime 以毫秒为单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31582537/
我最近写了一个秒表,注意到 QDateTime::secsTo 有一些奇怪的行为。我不确定这是错误还是功能(或者也许我只是做了一个蹩脚的实现;-)。 我的秒表代码可以简化为这个最小的示例以产生有问题的
如何为测试目的创建固定时间? 我在想: static QDateTime startTime = "2001-02-03 14:55:02" 正确的语法是什么? 最佳答案 来自 Qt 文档:http:
我需要我的 Qt 应用程序同时在所有国际计算机上运行一个任务,而不考虑时区。该应用程序以 UTC 格式从 Web 下载所需的日期和时间。我必须用哪个时区初始化 QDateTime?世界标准时间?还是取
我现在,这个问题听起来很愚蠢,但我无法让它发挥作用。最坏的例子: QString time_format = "yyyy-MM-dd HH:mm:ss"; QDateTime a = QDateTi
我希望 QDateTime 覆盖 - 运算符并返回一个 QTimeSpan 表示两个 QDateTimes 之间的差异(就像 .NET 的 TimeSpan)。由于这在 Qt 中不存在,我决定实现它。
我正在尝试使用 QDateTime 获取时区日期,我期望的是 2018-03-19T00:00:00-02:00 但我得到的是 2019-10 -27T19:56:09-2147483648 QDat
我正在从字符串中插入时间 QDateTime time =QDateTime::fromString("Wed Mar 26 22:37:40 2019 GMT-08"); qDebug()<
我将 Sqlite3 与 Qt 一起使用,无论如何要将 DateTime 表单保存在我使用文本类型的数据库中,请从我的数据库中查看: data 所以 INSERT 和 SELECT 非常有效,但我如何
我需要将 QDateTime 传递给接受 FILETIME 的 Win32 函数. 这是 MSDN 对 FILETIME 的定义: Contains a 64-bit value representi
QDateTime date = QDateTime::currentDateTime(); QString week = QDate::shortDayName(date.date().dayOfW
我尝试将 1970 年之后的秒数读入 QDateTime。即:startT = 1.390309552938E9 因此我使用: QDateTime time = QDateTime::fromMSec
我正在尝试将日期字符串转换为以下格式: Thu Sep 18 02:03:02 +0000 2008 到 QDateTime,使用 QDateTime::FromString() 如果我删除 +000
According to the documentation隐式共享主要是为了提高性能(避免复制和自动更改时复制)。 为什么它是为类 QDateTime 实现的,显然应该只是少量字节?我想说的是,用于
我正在寻找来自 qt 的日期时间,以将字符串作为 isodate 但带有时区返回给我。我有时会在网上查看我的问题,但没有找到解决方案 我刚刚得到这个: this->ui.dateEnd->dateTi
我在 Qt 4.8 的 QDateTime 中发现了一个关于 fromMSecsSinceEpoch 的奇怪行为。以下代码不会产生我期望的结果: assert( QDateTime::from
如何转换 QDateTime进入 QJSValue ?反向转换很容易:有 QJSValue::isDate 和 QJSValue::toDateTime。 最佳答案 根据Qt的帮助,QJSEngine
我在比较 qt qdatetime 时遇到了麻烦 if(now.secsTo(nearest)>0) 总是显示相同的数字。 QDateTime now = QDateTime::currentDate
我必须通过 QDateTime::fromString 方法将 QString 转换为 QDateTime。我有 QString 对象,其中包含“Wed, 13 Jun 2018 12:52”。但是当
我有一个 .txt 文件,其中包含如下所示的行: 2011-03-03 03.33.13.222 4 2000 信息业务......等 blabla 2011-03-03 03.33.13.333 4
我的 mysql 表中有时间戳列。我想读取日期值并将其写入 QJsonObject。 jsonObject["date"] = query.value(6).toDateTime().toString
我是一名优秀的程序员,十分优秀!