i.mx8上Qt应用星期显示异常
项目场景:
Qt显示时间,使用格式“yyyy年M月d日 dddd”,显示:2025年10月1日 Wednesday,而我期望的是:2025年10月1日 星期三
问题描述:
前提是设备上要有中文字符集,例如我的imx8 linux设备,是包含了中文字符集的。没有的话需要先移植。
解决方案:
获取到时间后,强制使用本地中文字符集转换一下。
- 获取当前时间: QDateTime currentDateTime = QDateTime::currentDateTime();
- 初始化中文字符集: QLocale chineseLocale( QLocale::Chinese, QLocale::China );
- 使用中文字符集转换一下:QString dateText =
chineseLocale.toString( currentDateTime, "yyyy年M月d日 dddd" ); - Show:出来ui->dateLbl->setText( dateText );