我在 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
显示格林威治标准时间而不是洛杉矶时间?
答案1
类 Unix 系统(实际的 Linux 操作系统和基于 MSys2 的“Git for Windows”工具)的时区信息并未嵌入软件本身,而是作为“tzdata”文件的集合进行分发。例如,您的时区数据位于/usr/share/zoneinfo/America/Los_Angeles
。
似乎“Git for Windows”软件包根本没有安装“tzdata”数据库。(我不确定这是无意的还是有意的,因为它做在“tcl8.6”子目录中有一组 tzinfo 文件 - 但不在“主”共享数据目录中。)