gpt4 book ai didi

c++ - 将 QString 日期(RFC 822 格式)转换为另一种基于文化的 QString 格式

转载 作者:行者123 更新时间:2023-11-30 05:07:39 29 4
gpt4 key购买 nike

我有一个包含多个字符串的数据库,我从查询中获取了这些记录,并且我在 QString 中收到了这种格式的数据:

"Mon, 13 Nov 2017 09:48:45 +0000"

所以,我需要根据文化来转换它,例如,如果我想转换成意大利文化?

所以结果会是:

"Lun, 13 Nov 2017 09:48:45"

在 qt 中存在这种类型的转换还是我必须手动进行?

感谢大家

最佳答案

Qt 提供了 QLocale处理语言/国家/地区细节的类。它具有接受 QDateTimeQLocale::toString() 重载。

它还有一个函数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)

关于c++ - 将 QString 日期(RFC 822 格式)转换为另一种基于文化的 QString 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47266545/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com