QDateTime::fromString 返回无效日期,我错过了什么?
我有一些代码从 sqlite 数据库读取日期时间,日期时间作为字符串返回。当我尝试使用 QDateTime::FromString 将其转换为日期时,它返回无效日期。下面是从数据库返回的时间和转换。 为什么这个解析失败?
// -this is the value returned from the DB currentServerTime=2012-01-17 19:20:27.0
QString format("yyyy/MM/dd hh:mm:ss");
QString qCurrentServerTime(currentServerTime);
now = QDateTime::fromString(qCurrentServerTime, format);
I have some code that reads a datetime from a sqlite database, the datetime is returned as a string. when I try to convert it to a date using QDateTime::FromString it returns an invalid date. Below is the time as returned from the database and conversion.
Why is this failing to parse?
// -this is the value returned from the DB currentServerTime=2012-01-17 19:20:27.0
QString format("yyyy/MM/dd hh:mm:ss");
QString qCurrentServerTime(currentServerTime);
now = QDateTime::fromString(qCurrentServerTime, format);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不是 QT 专家,但如果
QDateTime::fromString()
按人们(合理)预期的方式工作,并且根据 这个,您没有使用正确的模式。您指定从 sqllite 数据库读取的字符串类似于“2012-01-17 19:20:27.0”,那么您的格式应该类似于 yyyy-MM-dd HH:mm:ss.z 。
详细信息:
HH
而不是hh
).z
。No expert in QT, but if
QDateTime::fromString()
works as one would (reasonably) expect and according to this, you're not using the correct pattern.You indicate the string read from the sqllite database is like "2012-01-17 19:20:27.0", then your format should be like
yyyy-MM-dd HH:mm:ss.z
.In detail:
HH
instead ofhh
).z
.