从git我可以得到时间戳:
"2011-10-04 12:58:36 -0600"
但有没有办法将其显示为:
"2011-10-04 06:58:36"
所以我想要的是摆脱-0600时区偏移。我怎样才能做到这一点?感谢。
答案 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}”