如何在命令行中在 12 小时和 24 小时格式之间切换?

Abh*_*del 9 command-line time gsettings

我正处于学习阶段。我找不到将时间格式从 12 小时更改为 24 小时的命令。任何人都可以帮我解决这个问题吗?谢谢!!

Jac*_*ijm 14

时间设置,如面板所示,用 设置gsettings。您可以通过以下命令设置 12/24 小时:

12 小时:

在此处输入图片说明

gsettings set com.canonical.indicator.datetime time-format 12-hour
Run Code Online (Sandbox Code Playgroud)

24小时:

在此处输入图片说明

gsettings set com.canonical.indicator.datetime time-format 24-hour
Run Code Online (Sandbox Code Playgroud)

选项是:

locale-default
12-hour
24-hour
custom
Run Code Online (Sandbox Code Playgroud)

Mate上的相同技巧

...需要不同的命令:

12 小时:

dconf write /org/mate/panel/objects/clock/prefs/format "'12-hour'"
Run Code Online (Sandbox Code Playgroud)

并且,正如人们所期望的,24 小时:

dconf write /org/mate/panel/objects/clock/prefs/format "'24-hour'"
Run Code Online (Sandbox Code Playgroud)

NB在 Mate 16.04 上由 @Zana 测试过(谢谢!)


nob*_*ody 10

我不清楚你到底想要什么。如果您只想在终端窗口中显示小时,您可以尝试:

date +%R
date +%r
date +%H
date +%I
date +%H:%M
date +%I:%M
Run Code Online (Sandbox Code Playgroud)

这些是用于自定义时间显示的不同时间格式。%R使用 24 小时制时间,并%r使用 12 小时制显示整个时间。如果您只想要小时而没有分钟等,您可以使用%H(24 小时) 或%I(12 小时)。你也可以将它们与这样的分钟结合起来%H:%M%I:%M。还有许多其他选择。一起来看看man date

然后,如果要更改系统全局日期显示,请转到Settings -> Region & Language

还有LC_TIME指定如何显示时间和日期的环境设置。就我而言,我可以在/etc/environment文件中设置它,如下所示:

LC_TIME="sl_SI.UTF-8"
Run Code Online (Sandbox Code Playgroud)

你也可以看看/etc/localtime。尝试:

ls -l /etc/localtime
Run Code Online (Sandbox Code Playgroud)

此文件链接到来自/usr/share/zoneinfo/. 做一个这样的链接:

ln -sf /usr/share/zoneinfo/Europe/Ljubljana /etc/localtime
Run Code Online (Sandbox Code Playgroud)

例如,您的本地设置将设置为欧洲卢布尔雅那。可以随意使用/usr/share/zoneinfo/. 但是,我相信最后的设置只是时区的设置,而不是日期和时间的显示方式。


Ave*_*sta 5

对于新用户,如果您在 ubuntu 版本 >18.04 上使用 gnome

gsettings set org.gnome.desktop.interface clock-format 12h
Run Code Online (Sandbox Code Playgroud)
gsettings set org.gnome.desktop.interface clock-format 24h
Run Code Online (Sandbox Code Playgroud)