我在 Windows 10 上使用 git-bash :
~$ locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
~$ date --version
date (GNU coreutils) 8.31
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by David MacKenzie.
~$ TZ=America/Los_Angeles date
Tue Mar 31 09:40:41 GMT 2020
为什么date
显示格林威治标准时间而不是洛杉矶时间?
类 Unix 系统(实际的 Linux 操作系统和基于 MSys2 的“Windows 版 Git”工具)的时区信息并未嵌入软件本身,而是作为“tzdata”文件的集合分发。例如,您所在时区的数据位于
/usr/share/zoneinfo/America/Los_Angeles
.似乎“Git for Windows”软件包根本没有安装“tzdata”数据库。(我不确定这是偶然的还是有意的,因为它在“tcl8.6”子目录中有一组 tzinfo 文件——但在“主”共享数据目录中没有。)