从git我可以得到时间戳:
"2011-10-04 12:58:36 -0600"
但是有什么方法可以显示为:
"2011-10-04 06:58:36"
因此,我要做的就是摆脱-0600时区偏移。我怎样才能做到这一点?谢谢。
Answers:
如果您询问有关git log的信息,可以尝试从以下选项中选择最正确的形式:
git log --date={relative,local,default,iso,rfc}
--date=local
似乎是最佳人选。
要使其永久存在,请使用git config --global log.date local
。
local
作品。显然,提交包含其自己的时区,但是local
将它们全部转换为本地时区。但是,我确实希望将ISO或RFC转换为单个时区。有人知道该怎么做吗?
--date=iso-strict-local
用于严格的ISO8601。甜!
--date=local
使用iso
format。我仍然在获得TZ偏移。请提供任何帮助
git log --date=local
绝招。
git config --global log.date local
git log --date=local --pretty=format:"%ai,%an,%ae,%s"
,我仍然会得到时区偏移。不--data=local
与工作ISO日期?
不幸的是,git log --date=local
如先前答案中所述使用会更改输出格式。
为了保持要求的格式(YYYY-MM-DD HH:mm
),我必须使用:
git log --date=iso-local
但这仅适用于git 2.7或更高版本。
要获取格式(YYYY-MM-DD HH:hh
),可以使用:
git log --date=format:%Y-%m-%d\ %H:%M
与Git Standup一起使用也很漂亮:https://github.com/kamranahmedse/git-standup
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
如果您主要使用桌面应用程序,那么在提交列表中显示确切的更改时间真是太好了!
有什么办法可以使它成为全局的,所以我不必编辑每个本地存储库的prepare-commit-msg文件?
2011-10-04 12:58:36 -0600
应该是2011-10-04 18:58:36
UTC。您在示例中转换错误。