Debian
終端中的“日期”現在在 Debian Buster 上為 12 小時格式
自從更新到 Debian Buster 後,
date
在終端上執行會以 AM/PM 格式顯示時鐘,而不是 24 小時制。這是新的,並且在所有更新的安裝中都會發生。碼頭集裝箱:
yeri@b9b3e889fd76 ~ $ date Thu 01 Aug 2019 11:28:25 PM +08
本機主機:
liana ~ # date Thu 01 Aug 2019 11:32:44 PM +08
數字海洋:
ui0 ~ # date Thu 01 Aug 2019 05:33:11 PM CEST
這很煩人,我沒有要求這個 - 但是找不到更改它的設置。
我唯一能想到的是語言環境設置為美國;但以前也是如此(Debian 9):
ui0 ~ # cat /etc/default/locale # File generated by update-locale LANG=en_US.UTF-8
yeri@b9b3e889fd76 ~ $ locale LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=en_US.UTF-8 yeri@b9b3e889fd76 ~ $ date Sun 04 Aug 2019 04:39:14 PM +08 yeri@b9b3e889fd76 ~ $ locale date_fmt %a %d %b %Y %r %Z yeri@b9b3e889fd76 ~ $ locale -k LC_TIME abday="Sun;Mon;Tue;Wed;Thu;Fri;Sat" day="Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday" abmon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec" mon="January;February;March;April;May;June;July;August;September;October;November;December" am_pm="AM;PM" d_t_fmt="%a %d %b %Y %r %Z" d_fmt="%m/%d/%Y" t_fmt="%r" t_fmt_ampm="%I:%M:%S %p" era= era_year="" era_d_fmt="" alt_digits= era_d_t_fmt="" era_t_fmt="" time-era-num-entries=0 time-era-entries="S" week-ndays=7 week-1stday=19971130 week-1stweek=1 first_weekday=1 first_workday=2 cal_direction=1 timezone="" date_fmt="%a %d %b %Y %r %Z" time-codeset="UTF-8" alt_mon="January;February;March;April;May;June;July;August;September;October;November;December" ab_alt_mon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"
這種變化的原因似乎是在 buster 中更新了 en_US 語言環境。由於它旨在代表美國海關,即以 12 小時格式指定時間,因此現在顯示時間,儘管對於依賴舊行為的每個人來說可能會感到驚訝。
正如@JosefZ 在評論中已經提到的,一個解決方案是使用具有所需時間設置的語言環境,例如 C.UTF-8。要使此更改在 Debian 上永久生效,您需要執行:
update-locale LC_TIME=C.UTF-8
這會在文件 /etc/default/locale 中設置 LC_TIME 的定義。
您可以在Debian 錯誤 #877900中找到有關更改本身的更多資訊