> date "+%a %b %d %H:%M:%S%Z %Y"
Thu Nov 03 21:03:55 GMT 2022
> git --version
git version 2.35.3
> git "--no-pager" show "-date=format:%a %b %d %H:%M:%S %Z %Y" -s "--format=from commit %H of %ad"
from commit 8c440202fbf07363e67af9b9d24a910a50ece0f7 of Thu Nov 03 18:54:20 2022
为什么缺少时区?
1条答案
按热度按时间vwkv1x7d1#
因为Git没有你想要的信息。
%Z
是时区名称或缩写,但Git只存储Unix纪元和时区偏移量,例如1667436375 +0000
。我们不知道它在哪个时区。它可能是使用
Etc/UTC
的人(简称UTC
)、Etc/GMT
、Atlantic/Reykjavik
、Europe/London
(GMT
)或Europe/Lisbon
(WST
)等。通常,几乎不可能从实际时区名称的偏移量开始,因为,不出所料,许多管辖区通常位于同一时区内,并且它们通常在如何称呼时区方面意见不一(部分原因是它们通常不使用同一种语言)。因为Git会从提交中合成时间戳本身,所以它不能使用
TZ
或其他信息来获取时区,因此它不会被打印出来。你可以使用%z
来代替数字偏移量。