QDateTime 指定语言,显示时间日期等信息

来源:互联网 发布:网络调教男奴方法 编辑:程序博客网 时间:2024/06/18 16:50

QDateTime 默认根据系统语言进行对应语言的相关转换。

在设置区域为中文的操作系统中直接调用以下函数:

QDateTime dateTime = QDateTime::currentDateTime();QString strFormat = "dd.MM.yyyy, ddd MMMM d yy, hh:mm:ss.zzz, h:m:s ap";QString strDateTime = dateTime.toString(strFormat);qDebug() << strDateTime << endl;

结果如下:

"15.10.2017, 周日 十月 15 17, 12:59:21.735, 12:59:21 下午"

这在多语言项目开发情况下会产生问题,即英文/中文界面只显示对应操作系统语言的字符串格式。


怎么指定固定语言显示呢?

Qt中借助QLocale类,主要用来在不同语言下,实现各种数字、表达式等字符串之间的转换。
指定特定语言显示代码:

    QDateTime dateTime = QDateTime::currentDateTime();    QLocale locale = QLocale::English;//指定英文显示    //QLocale locale = QLocale::Chinese;//指定中文显示    //QLocale locale = QLocale::Japanese;//指定日文显示    QString strFormat = "dd.MM.yyyy, ddd MMMM d yy, hh:mm:ss.zzz, h:m:s ap";    QString strDateTime = locale.toString(dateTime, strFormat);    qDebug() << strDateTime << endl;

相应的显示结果如下:

//"15.10.2017, Sun October 15 17, 12:48:08.372, 12:48:8 pm"//"15.10.2017, 周日 十月 15 17, 12:48:44.475, 12:48:44 下午"//"15.10.2017, 日 10月 15 17, 12:51:06.689, 12:51:6 午後"

**

当需要多语言相互转换等操作时,请记起QLocale。

**

阅读全文
0 0
原创粉丝点击