Cygwin return `date -u` 命令的不同日期格式

Cygwin return different format of date for `date -u` command

当我从 Cygwin 终端/Cygwin Bash shell 执行 date -u 命令时,它 return 输出 Tue, Jul 14, 2015 2:52:47 PM

但是当我从命令行执行 bash 命令,然后执行 date -u,它 return 输出 Tue Jul 14 14:52:27 UTC 2015

我需要这个命令总是return这个输出格式:Tue Jul 14 14:52:27 UTC 2015 (%a %b %d %H:%M%S %Z %Y)

为什么 return 不同的日期时间格式?我怎样才能将它们更改为相同的格式?

不同 Cygwin 终端的路径:

Cygwin Terminal: C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -
Cygwin Bash shell: C:\cygwin\Cygwin.bat
Bash: C:\cygwin\bin\bash.exe

日期格式取决于系统的区域设置:

$ LC_ALL=it_IT.utf8 date -u
mar 14 lug 2015, 18.04.18, UTC

$ LC_ALL=POSIX date -u
Tue Jul 14 18:04:29 UTC 2015

如果您想要一致的 date 输出,请明确设置您的系统、用户、脚本或日期命令以使用 POSIX 语言环境。

您可以在日期命令中明确说明格式。您基本上已经组装了输出格式。

date -u +'%a %b %d %H:%M:%S %Z %Y'