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

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

我正处于学习阶段。我找不到将时间格式从 12 小时制改为 24 小时制的命令。有人能帮我吗?谢谢!!

答案1

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

12小时:

在此处输入图片描述

gsettings set com.canonical.indicator.datetime time-format 12-hour

24小时:

在此处输入图片描述

gsettings set com.canonical.indicator.datetime time-format 24-hour

选项有:

locale-default
12-hour
24-hour
custom

Mate 上的相同技巧

...需要不同的命令:

12小时:

dconf write /org/mate/panel/objects/clock/prefs/format "'12-hour'"

并且正如人们所预料的那样,24小时:

dconf write /org/mate/panel/objects/clock/prefs/format "'24-hour'"

注意:由@Zana 在 Mate 16.04 上测试(感谢!)

答案2

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

date +%R
date +%r
date +%H
date +%I
date +%H:%M
date +%I:%M

这些是用于自定义时间显示的不同时间格式。%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"

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

ls -l /etc/localtime

此文件链接到了 中的某个文件/usr/share/zoneinfo/。请创建如下链接:

ln -sf /usr/share/zoneinfo/Europe/Ljubljana /etc/localtime

您的本地设置将设置为欧洲卢布尔雅那。您可以随意使用 中的任何其他文件/usr/share/zoneinfo/。但是,我相信最后的设置仅用于时区设置,而不是日期和时间的显示方式。

答案3

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

gsettings set org.gnome.desktop.interface clock-format 12h
gsettings set org.gnome.desktop.interface clock-format 24h

答案4

区域设置会影响命令的时间显示格式date。例如,en_US采用 12 小时制:

% LANG='en_US.UTF-8'; date
Tue 14 Jul 2020 09:13:29 PM BST

24 小时为en_GB

% LANG='en_GB.UTF-8'; date
Tue 14 Jul 2020 21:13:29 PM BST

可以通过运行以下命令来更改系统(前提是您已安装适当的语言文件):

sudo update-locale LANGUAGE=en_GB.UTF-8 LANG=en_GB.UTF-8

相关内容