- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 .txt 文件,其中包含如下所示的行:
在我的代码中的某些地方,我进行了一些计算和查找,我只从每一行的开头提取日期。现在,当我正确定位在文件的开头时,我只提取日期和时间(带毫秒)“ex: 2011-03-03 03.33.13.444”并转换为 QDateTime 对象。
假设我的文件指针正确定位在某一行的开头,使用 readLine 我读取我的日期时间文本行并转换为 QDateTime 对象
QDateTime dt;
char lineBuff[1024];
qint64 lineLength;
lineLength=file.readLine(lineBuff, 24);
dt = QDateTime::fromString(QString(lineBuff),"yyyy-MM-dd HH.mm.ss.zzz");
这是绝对正确的。
但是,问题来了:
当我这样做时:
QDateTime dt;
QByteArray baLine;
char lineBuff[1024];
file.seek(nGotoPos); //QFile, nGotoPos = a position in my file
QString strPrev(baLine); // convert bytearry to qstring -> so i can use mid()
// calculate where the last two newline characters are in that string
int nEndLine = strPrev.lastIndexOf("\n");
int nStartLine = strPrev.lastIndexOf("\n", -2);
QString strMyWholeLineOfTextAtSomePoint = strPrev.mid(nStartLine,nEndLine);
QString strMyDateTime = strMyWholeLineOfTextAtSomePoint.left(24);
// strMyDateTime in debug mode shows me that it is filled with my string
// "ex: 2011-03-03 03.33.13.444"
// THE PROBLEM
// But when i try to covert that string to my QDateTime object it is empty
dt = QDateTime::fromString(strMyDateTime ,"yyyy-MM-dd HH.mm.ss.zzz");
dt.isValid() //false
dt.toString () // "" -> empty ????
但如果我这样做:
dt = QDateTime::fromString("2011-03-03 03.33.13.444","yyyy-MM-dd HH.mm.ss.zzz");然后一切都好。
我的 QString 可能有什么问题?我需要向 strMyDateTime 追加一个“\0”还是需要一些其他转换??
最佳答案
您的字符串有多余的字符,很可能开头有空格。您的格式字符串是 23 个字符,并且您使用的是 left(24),因此必须有一个额外的字符。您在对 Stephen Chu 的回答的评论中说,将 24 更改为 23 会删除最后一个毫秒字符,因此额外的字符必须在开头。
关于c++ - QDateTime::fromString 不接受我的 QString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7616263/
我最近写了一个秒表,注意到 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
我是一名优秀的程序员,十分优秀!