1

该功能QDate::toString(const QString &format)允许显示月份名称MMM(例如“Jan”到“Dec”)或MMMM(例如“January”到“December”)。

但是这个函数使用来自QLocale::system()源代码)的系统语言环境。

QDate对于特定的 QLocale ,显示带有月份名称的最简单方法是什么?

4

1 回答 1

5

您必须使用toString()方法 ofQLocale而不是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"
于 2017-10-16T14:05:48.903 回答