有没有办法强制*nix命令"date"以独立于本地的特定格式输出?例如,如果我今天打电话给"date -u",我会在美国机器上得到:
Mon Oct 15 13:15:29 UTC 2012
Run Code Online (Sandbox Code Playgroud)
但在德国的机器上我得到:
Mo 15. Okt 13:15:31 UTC 2012
Run Code Online (Sandbox Code Playgroud)
Jan*_*ary 39
当然,您可以自己指定格式:
date +%a, %b %d
Run Code Online (Sandbox Code Playgroud)
或者您可以使用临时环境变量:
:~$ LC_ALL=de_DE.utf8 date
Mo 15. Okt 15:34:11 CEST 2012
:~$ date
Mon Oct 15 15:33:24 CEST 2012
Run Code Online (Sandbox Code Playgroud)
如您所见,只有第一个命令与德语区域设置一起运行.
che*_*ner 12
您可以修改date运行的环境.我不知道这是否是最好的方法(区域设置处理中使用的变量很多),但以下工作:
$ LANG=de_DE date
Mo 15 Okt 2012 09:34:12 EDT
Run Code Online (Sandbox Code Playgroud)
(一月打我这个答案用一分钟左右的时间,但我会离开我的答案了,希望会有一些会澄清变量(LC_ALL,LANG,等)是最"合适".)
language-pack-xx首先,确保已安装目标语言环境的语言包。在 Debian 派生的 GNU/Linux 发行版上,荷兰语支持的安装方式如下:
$ sudo apt install language-pack-nl
Run Code Online (Sandbox Code Playgroud)
此命令还将自动安装language-pack-nl-base. 这是我通过指定得到的结果LC_TIME。这比使用 更具体LC_ALL。(指定LANG在 Xubuntu LTS 上不起作用。)
$ date '+%A %e %B %Y'
Friday 16 October 2015
$ LC_TIME='nl_BE.UTF-8' date '+%A %e %B %Y'
vrijdag 16 oktober 2015
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22327 次 |
| 最近记录: |