我有一个包含多个字符串的数据库,我从查询中获取这些记录,并以QString接收以下格式数据:
2017年11月13日上午09:48:45 +0000
所以,我需要基于文化来转换,例如,如果我想在意大利文化中转换?
其结果将是:
“伦,2017年11月13日09:48:45”
在qt中存在这种类型的转换,还是我必须手动进行?
感谢所有
发布于 2017-11-13 14:35:33
Qt提供了处理语言/国家细节的QLocale类。它有过载的接受QLocale::toString()的QDateTime。
它还具有一个函数QLocale::toDateTime()来执行反向操作。但是在您的情况下,非本地感知的QDateTime::fromString()应该可以工作。
在结尾处,您应该有这样的内容(+或-一些参数,用于您想要的确切格式)。
QString source = "Mon, 13 Nov 2017 09:48:45 +0000";
QDateTime dt = QDateTime::fromString(source, Qt::RFC2822Date);
QString result = QLocale().toString(dt, Qt::RFC2822Date);注意,QLocale()基于底层操作系统中的当前用户设置构造一个实例。您还可以强制使用特定的语言/国家,例如:QLocale(QLocale::Italian)。
https://stackoverflow.com/questions/47266545
复制相似问题