git:时区和时间戳格式

时间:2011-10-04 17:18:00

标签: git timezone format timestamp timezone-offset

从git我可以得到时间戳:

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

但有没有办法将其显示为:

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

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

8 个答案:

答案 0 :(得分:62)

如果您询问git log,可以尝试从以下选择最正确的表单:

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

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

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

答案 1 :(得分:33)

git log --date=local

诀窍。

git config --global log.date local

答案 2 :(得分:27)

TZ=UTC git log --date=local

以获得非本地时区的一次性输出。

答案 3 :(得分:8)

不幸的是,使用先前答案中解释的git log --date=local会更改输出格式。

要保持所要求的格式(YYYY-MM-DD HH:mm),我必须使用:

git log --date=iso-local

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

答案 4 :(得分:5)

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

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

与Git Standup一起精彩地工作:https://github.com/kamranahmedse/git-standup

答案 5 :(得分:1)

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文件?

答案 6 :(得分:1)

完整的命令行答案:

TZ=GMT git show -s --format=%cd --date=iso-local

答案 7 :(得分:0)

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

DATE = $(git log -n 1 --pretty = format:“%ad”--date = iso)
echo“日期:$ {DATE :: 20}”