Kahn Asked: 2019-11-23 11:51:25 +0800 CST2019-11-23 11:51:25 +0800 CST 2019-11-23 11:51:25 +0800 CST 将所有用户的时钟设置为 24 小时格式 772 在 Fedora 30 上,我目前在桌面环境中以 24 小时格式显示日期。我正在通过chronyd同步时间。但在 CLI 上,时间显示Fri 22 Nov 2019 02:47:51 PM EST为所有用户。 我想将时间格式设置为使用 24 小时制。timedatectl作为用户设置和重新登录没有任何区别。 fedora clock 1 个回答 Voted Best Answer telcoM 2019-11-24T05:40:00+08:002019-11-24T05:40:00+08:00 如果您date在命令行上使用该命令,并返回类似 的Fri 22 Nov 2019 02:47:51 PM EST内容,则表示您的区域设置当前设置为指定 12 小时时间格式的区域设置。 键入locale以查看当前的区域设置。基本上,所有的语言环境设置都只是环境变量,但它们之间存在一些依赖关系。 locale设置的逻辑如下: 首先,该LANG变量将为所有LC_* 语言环境类别定义默认语言环境,除非对特定类别有更具体的设置。 每个语言环境类别都有一个名称,例如LC_CTYPE所使用的字符集、LC_COLLATE排序顺序以及LC_TIME日期和时间的表示。如果存在与语言环境类别名称对应的环境变量,它将覆盖由 设置的默认值LANG。 最后,有一个终极覆盖LC_ALL。如果已设置,它将覆盖所有其他区域设置。它通常用于脚本或类似的export LC_ALL=C,以确保脚本使用的任何命令的输出将采用 POSIX 默认美国英语格式,而不是任何可能使解析输出更加困难的本地化格式。(当然,首先在脚本中解析供人类使用的输出并不是一个理想的选择——如果命令具有“脚本友好的输出”选项,您应该改用它!) 从历史上看,在 RedHat/Fedora 上,系统默认区域设置应该在/etc/sysconfig/i18n文件中(i18n = internationali[s|z]ation,i 和 n 之间有 18 个字符)。在现代版本上,应该有一个localectl命令可以用来持久地查询和修改语言环境和键盘布局设置。请注意,环境变量设置始终可用于覆盖系统范围的区域设置默认值! 如果您使用的是默认en_US.UTF-8语言环境,那么en_GB.UTF-8将是最接近 24 小时时间表示的等价物。要设置它,请使用: localectl set-locale LC_TIME=en_GB.UTF-8 然后注销并重新登录以使更改在您的会话中生效。 如果您使用其他一些语言环境,请使用localectl list-locales来查看可用的语言环境定义。 如果您不确定,可以通过将所需的语言环境指定为date命令的环境变量来测试输出: $ LC_TIME=en_GB.UTF-8 date Sat 23 Nov 15:47:16 EET 2019 $ LC_TIME=en_US.UTF-8 date Sat 23 Nov 2019 03:47:19 PM EET
如果您
date
在命令行上使用该命令,并返回类似 的Fri 22 Nov 2019 02:47:51 PM EST
内容,则表示您的区域设置当前设置为指定 12 小时时间格式的区域设置。键入
locale
以查看当前的区域设置。基本上,所有的语言环境设置都只是环境变量,但它们之间存在一些依赖关系。locale设置的逻辑如下:
首先,该
LANG
变量将为所有LC_*
语言环境类别定义默认语言环境,除非对特定类别有更具体的设置。每个语言环境类别都有一个名称,例如
LC_CTYPE
所使用的字符集、LC_COLLATE
排序顺序以及LC_TIME
日期和时间的表示。如果存在与语言环境类别名称对应的环境变量,它将覆盖由 设置的默认值LANG
。最后,有一个终极覆盖
LC_ALL
。如果已设置,它将覆盖所有其他区域设置。它通常用于脚本或类似的export LC_ALL=C
,以确保脚本使用的任何命令的输出将采用 POSIX 默认美国英语格式,而不是任何可能使解析输出更加困难的本地化格式。(当然,首先在脚本中解析供人类使用的输出并不是一个理想的选择——如果命令具有“脚本友好的输出”选项,您应该改用它!)从历史上看,在 RedHat/Fedora 上,系统默认区域设置应该在
/etc/sysconfig/i18n
文件中(i18n = internationali[s|z]ation,i 和 n 之间有 18 个字符)。在现代版本上,应该有一个localectl
命令可以用来持久地查询和修改语言环境和键盘布局设置。请注意,环境变量设置始终可用于覆盖系统范围的区域设置默认值!如果您使用的是默认
en_US.UTF-8
语言环境,那么en_GB.UTF-8
将是最接近 24 小时时间表示的等价物。要设置它,请使用:然后注销并重新登录以使更改在您的会话中生效。
如果您使用其他一些语言环境,请使用
localectl list-locales
来查看可用的语言环境定义。如果您不确定,可以通过将所需的语言环境指定为
date
命令的环境变量来测试输出: