如何显示与系统不同区域设置的 QDate-month?
How to display a QDate-month with a different locale than system?
函数QDate::toString(const QString &format)
允许显示带有MMM
(例如'Jan'到'Dec')或MMMM
(例如'January' 到 'December').
但此函数使用来自 QLocale::system()
(source code) 的系统语言环境。
对于特定 QLocale,显示带有月份名称的 QDate
的最简单方法是什么?
您必须使用 QLocale
的 toString()
方法,而不是 QDate
。
QDate d = QDate::currentDate();
QList<QLocale> locales {QLocale(QLocale::Spanish),
QLocale(QLocale::English),
QLocale(QLocale::Dutch),
QLocale(QLocale::Japanese),
QLocale(QLocale::French),
QLocale(QLocale::Chinese)};
QString format = "dd MMMM yyyy";
for(const QLocale locale: locales){
qDebug()<<locale.toString(d, format);
}
输出:
"16 octubre 2017"
"16 October 2017"
"16 oktober 2017"
"16 10月 2017"
"16 octobre 2017"
"16 十月 2017"
函数QDate::toString(const QString &format)
允许显示带有MMM
(例如'Jan'到'Dec')或MMMM
(例如'January' 到 'December').
但此函数使用来自 QLocale::system()
(source code) 的系统语言环境。
对于特定 QLocale,显示带有月份名称的 QDate
的最简单方法是什么?
您必须使用 QLocale
的 toString()
方法,而不是 QDate
。
QDate d = QDate::currentDate();
QList<QLocale> locales {QLocale(QLocale::Spanish),
QLocale(QLocale::English),
QLocale(QLocale::Dutch),
QLocale(QLocale::Japanese),
QLocale(QLocale::French),
QLocale(QLocale::Chinese)};
QString format = "dd MMMM yyyy";
for(const QLocale locale: locales){
qDebug()<<locale.toString(d, format);
}
输出:
"16 octubre 2017"
"16 October 2017"
"16 oktober 2017"
"16 10月 2017"
"16 octobre 2017"
"16 十月 2017"