QT读取服务器mysql数据库中日期字段问题

时间:2021-03-01 21:22:32
小弟从数据库中读取日期CURRENT_TIMESTAMP,得到的字符串中却统一夹带有“T”;该数据库定义如下:
CREATE TABLE `registertb` (
  `sid` varchar(34) NOT NULL,
  `rand_num` varchar(30) NOT NULL DEFAULT '',
  `modi_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`sid`,`rand_num`,`modi_date`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;

数据库中存储的形式为如:2010-4-12 9:53:26
应日期和时间之间有一空格,读取出来 query.value(0).toString()之后,打印出来的就成了2010-04-16T08:55:51这种形式的了,请高手指教!!!

还有一个问题想请教,就是我的字符串明显就是 “08:55:51”这种格式的,
然后我用QTime的fromString函数
如time.fromString("08:55:51","hh:mm:ss")得到的确是空的,不知为何,toString亦是如此,希望如果有人遇到的此类问题,请把你们的解决方法留下,把小弟的感激带走!

9 个解决方案

#1


没有遇到过这种情况,只能帮顶一个。

#2


无人解答吗?

#3


query.value(0)返回什么类型,toString有参数吗?试试改变一下参数

#4


该回复于2010-04-16 16:18:05被版主删除

#5


1.T是T-SQL中DateTime字段的一个格式化分隔符同,参考:
http://msdn.microsoft.com/zh-cn/library/ms187819.aspx
如果你想去掉T,
QDateTime temp = query.value(0).toDateTime();
QString strTemp = temp.toString("yyyy-mm-dd hh:mm:ss");

2.fromString是static的,应该通过下面的方法调用
 QTime tm = QTime::fromString("08:55:51","hh:mm:ss");

#6


QString 和QDate可以这样互相转换:

QString toString ( const QString & format ) const
QString toString ( Qt::DateFormat format = Qt::TextDate ) const


QDate fromString ( const QString & string, Qt::DateFormat format = Qt::TextDate )
QDate fromString ( const QString & string, const QString & format )

#7


基本的处理,LS两位说的很详细了

#8


路过学习了...

#9


等了一天无人解答,基本放弃了这里,没想到事隔几日竟有高手出现,帮我解答此疑问,再次非常感谢下5楼的同志,3Q,6楼的似乎也有道理,只可惜本人看不懂,不好意思,接分吧!

#1


没有遇到过这种情况,只能帮顶一个。

#2


无人解答吗?

#3


query.value(0)返回什么类型,toString有参数吗?试试改变一下参数

#4


该回复于2010-04-16 16:18:05被版主删除

#5


1.T是T-SQL中DateTime字段的一个格式化分隔符同,参考:
http://msdn.microsoft.com/zh-cn/library/ms187819.aspx
如果你想去掉T,
QDateTime temp = query.value(0).toDateTime();
QString strTemp = temp.toString("yyyy-mm-dd hh:mm:ss");

2.fromString是static的,应该通过下面的方法调用
 QTime tm = QTime::fromString("08:55:51","hh:mm:ss");

#6


QString 和QDate可以这样互相转换:

QString toString ( const QString & format ) const
QString toString ( Qt::DateFormat format = Qt::TextDate ) const


QDate fromString ( const QString & string, Qt::DateFormat format = Qt::TextDate )
QDate fromString ( const QString & string, const QString & format )

#7


基本的处理,LS两位说的很详细了

#8


路过学习了...

#9


等了一天无人解答,基本放弃了这里,没想到事隔几日竟有高手出现,帮我解答此疑问,再次非常感谢下5楼的同志,3Q,6楼的似乎也有道理,只可惜本人看不懂,不好意思,接分吧!