2017-10-16 14 views
0

関数QDate::toString(const QString &format)は、MMM(たとえば、 'Jan'から 'Dec')またはMMMM(たとえば、 'January'から 'December')の月名を表示できます。システムと異なるロケールでQDate-monthを表示するにはどうすればよいですか?

しかし、この機能では、QLocale::system()source code)のシステムロケールが使用されます。

特定のQLocaleについて、月名のQDateを表示する最も簡単な方法は何ですか?

答えて

2

QDateの代わりにtoString()の方法をQLocaleにする必要があります。

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" 
関連する問題