改变 A 。 M 到 AM

Change A . M to just AM

我的应用程序在 Windows 10 上可以正常显示 AM / PM 的时间,但在 Ubuntu Distro (Zorin OS) 上,它显示 A. M. / P. M.

.

我很确定这是 PC 的语言,但我需要它是西班牙语。无论哪种方式,我都尝试将默认 QLocate 更改为 en 以查看它是否有效,但它没有,只是更改日期语言而不是时间格式。

给定语言环境的实际显示取决于系统:由用户决定日期和时间的显示方式。要修改此默认值,您需要在 Ubunto 上编辑您的设置。

在 Qt 中更改 默认 语言环境只会更改创建 QLocale() 实例时创建的语言环境:它不会修改系统。

如果您想要使用其他语言环境显示某些内容,您可以使用语言环境对象来实现。要使用其他语言环境显示 date/time,您需要使用 locales .toString 方法。例如:

>>> from PyQt5.QtCore import QTime, QLocale
>>> t = QTime(12, 30, 0)

...然后...

>>> cl = QLocale(QLocale.English)
>>> cl.toString(t)
'12:30:00 PM CEST'

或使用荷兰(欧洲风格,24 小时制)

>>> cl = QLocale(QLocale.English, QLocale.AnyScript, QLocale.Netherlands)
>>> cl.toString(t)
'12:30:00 CEST'

或西班牙语通用

>>> cl = QLocale(QLocale.Spanish)
>>> cl.toString(t)
'12:30:00 (CEST)'

如果您只想以特定格式显示时间(例如,使解析日志更简单),您可以使用 the date-time object iself 上的 .toString 以您喜欢的格式输出它。请注意,虽然这不允许您指定自己的 AM/PM 标记,但 Qt6 中的标记将始终为英文。

最后一个选项是使用标准 Python 字符串替换来替换输出字符串。