date命令按指定locale所对应的日期格式输出
date命令按指定locale所对应的日期格式输出
July 4, 2018
在Linux,Unix或者MacOS的命令行输入date命令,可以获取到当前的系统时间。默认情况下,date命令是按照当前系统的locale的时间格式来输出的。
比如下面的命令输出当前是星期几,在不同的locale中可以看到有不同的输出
date +%a
下面是locale为zh_CN的输出:
三
下面是locale为en_US的输出:
Wed
如果当前系统的locale是zh_CN,但是想让date输出的星期几是英文而不是中文,有没有简单的办法呢?答案是有。可以通过指定locale临时环境变量来让date命令输出所期望的格式。这个临时环境变量的设置,仅对当前的命令有效,不会影响到其他地方的locale值
首先我们可以运行下面的命令来列出当前系统安装了哪些locale。这一步有一定的必要,因为在不同的系统下面,locale名称可能不同。比如,Ubuntu下面叫做zh_CN.utf8
,而MacOS下面叫做zh_CN.UTF-8
。如果locale名称没用对,那么看到的就不是所期望的结果。
locale -a
知道locale的具体名称之后,可以用类似下面的命令来指定locale并按照指定格式输出。
LC_ALL=zh_CN.UTF-8 date
LC_ALL=zh_CN.UTF-8 date +%a
LC_ALL=en_US.UTF-8 date
LC_ALL=en_US.UTF-8 date +%a
上面的命令分别有如下的输出:
2018年 7月 4日 星期三 20时33分41秒 CST 三 Wed Jul 4 20:33:41 CST 2018 Wed
最后更新于