如何输出给定时区的月份名称

如何输出给定时区的月份名称

我希望在本地时区中输出date +"%B, %d %Y",但考虑使用另一个时区的名称(在本例中为月份名称)。

在我的系统中,date +"%B"输出(请注意“JanuarY”上缺少“y”):

Januar

我试过:

TZ=America/Los_Angeles date +"%B, %d %Y"

输出:

Januar, 31 2016

从手册页:

%B     **locale's** full month name (e.g., January)

所以,我尝试获取另一个序列%B但是,我找不到。

TZ='America/Los_Angeles' date给出预期的输出(我在本地时区的约 20 点运行此命令)

So 31. Jan 11:01:30 PST 2016

以下是一些信息(如果相关的话):

$ date --version`
  date (GNU coreutils) 8.23

$ date +%Z
  CET

$ uname -a
  Linux host 4.2.0-25-generic #30-Ubuntu SMP Mon Jan 18 12:31:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

答案1

月份名称与时区无关,而是与语言环境

$ LC_ALL=cs_CZ.utf8 date +%B
leden
$ LC_ALL=es_ES.utf8 date +%B
enero

相关内容