Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用与系统不同的区域设置显示QDate月?_C++_Qt_Qt5_Qdate_Qlocale - Fatal编程技术网

C++ 如何使用与系统不同的区域设置显示QDate月?

C++ 如何使用与系统不同的区域设置显示QDate月?,c++,qt,qt5,qdate,qlocale,C++,Qt,Qt5,Qdate,Qlocale,该功能允许使用MMM(如“一月”至“十二月”)或MMMM(如“一月”至“十二月”)显示月份名称 但此函数使用QLocale::system()()中的系统区域设置 对于特定QLocale,显示带有月名的QDate的最简单方法是什么?您必须使用QLocale的toString()方法,而不是QDate QDate d = QDate::currentDate(); QList<QLocale> locales {QLocale(QLocale::Spanish),

该功能允许使用
MMM
(如“一月”至“十二月”)或
MMMM
(如“一月”至“十二月”)显示月份名称

但此函数使用
QLocale::system()
()中的系统区域设置


对于特定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);

}

必须使用
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);

}