Date
who -b 日期格式變化奇怪
我跑來
who -b
獲取上次重新啟動的日期。它返回 2013-10-29 14:55。現在由一個守護程序執行(我將此日期發送到伺服器)它返回 Oct 29 14:55。但在其他時候(在 10 月 29 日最後一次重新啟動之前),它會始終返回類似 2013-10-24 13:17 的內容。第一組問題:環境中的什麼控制這個?為什麼它與 sudo 使用者和 daemon 不同?為什麼它在兩次重啟之間發生了變化?
另一個問題:有沒有辦法讓這個日期的格式為 2013-10-29 14:55 ?我可以格式化它,但缺少年份。(即你知道要傳遞什麼標誌誰 -b)?
這可能是由於區域設置更改:
$ locale | grep LC_TIME LC_TIME="en_GB.UTF-8" $ who -b system boot 2013-11-04 10:04 $ LC_TIME=C who -b system boot Nov 4 10:04
也許您的語言環境已更改,並且直到重新啟動後才生效(也許您在更改後沒有更新您的環境)。至於為什麼它在守護程序中看起來不同,它可能具有不同的 LC_TIME 值,或者根本沒有值。
您可以使用類似這樣的方式獲取日期(可選地替換
en_GB.UTF-8
為導致這種格式的任何語言環境,因為您的系統上可能沒有該語言環境):$ LC_TIME=en_GB.UTF-8 who -b | awk '{ print $3 " " $4 }' 2013-11-04 10:04