83

从 git 我可以得到时间戳:

"2011-10-04 12:58:36 -0600"

但是有什么方法可以将其显示为:

"2011-10-04 06:58:36"

所以我想要的就是摆脱 -0600 时区偏移量。我怎样才能做到这一点?谢谢。

4

8 回答 8

96

如果您询问 git log,您可以尝试从以下选项中选择最正确的形式:

git log --date={relative,local,default,iso,rfc}

--date=local似乎是最佳人选。

要使其永久化,请使用git config --global log.date local.

于 2011-10-04T17:30:28.020 回答
36
TZ=UTC git log --date=local

为了获得非本地时区一个时区的输出。

于 2013-02-27T02:50:43.277 回答
36
git log --date=local

行得通。

git config --global log.date local
于 2013-04-09T15:08:49.437 回答
8

不幸的是,git log --date=local按照前面的答案中的说明使用会改变输出格式。

为了保持要求的格式(YYYY-MM-DD HH:mm),我不得不使用:

git log --date=iso-local

但这仅适用于 git 2.7 或更高版本。

于 2016-01-25T17:18:55.927 回答
8

要获取格式 ( YYYY-MM-DD HH:hh),您可以使用:

git log --date=format:%Y-%m-%d\ %H:%M

也可以与 Git Standup 完美配合:https ://github.com/kamranahmedse/git-standup

于 2016-09-27T10:05:56.497 回答
4

完整的命令行答案:

TZ=GMT git show -s --format=%cd --date=iso-local
于 2019-02-06T19:57:07.113 回答
2

jveerman 的帖子真的很有帮助:

如果要以 YYYY-MM-DD HH:MM:SS 格式显示 git 日期:

DATE=$(git log -n 1 --pretty=format:"%ad" --date=iso)
echo "Date: ${DATE::20}"

对于日志格式,我可以添加这个

[log]
date=format:%Y-%m-%d %H:%M:%S

到我的 ~/.gitconfig

但是将相同格式的日期/时间自动添加到我的提交消息中是一种考验。在将其添加到 .git/hooks/prepare-commit-msg 文件之前,我发现没有任何帮助:

DATE=$(git log -n 1 --pretty=format:"%ad" --date=iso)
echo "${DATE::20}" >> $1

如果您主要使用桌面应用程序,那么在提交列表中显示更改的确切时间真是太好了!

有什么办法可以使这个全局化,所以我不必编辑每个本地 repo 的 prepare-commit-msg 文件?

于 2017-01-31T23:12:56.867 回答
0

如果要以 YYYY-MM-DD HH:MM:SS 格式显示 git 日期:

DATE=$(git log -n 1 --pretty=format:"%ad" --date=iso)
echo "Date: ${DATE::20}"

于 2015-11-12T20:04:32.780 回答