git:时区和时间戳格式

San*_*yBr 59 git format timezone timestamp timezone-offset

从git我可以得到时间戳:

"2011-10-04 12:58:36 -0600"
Run Code Online (Sandbox Code Playgroud)

但有没有办法表明它:

"2011-10-04 06:58:36"
Run Code Online (Sandbox Code Playgroud)

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

Laz*_*ger 67

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

git log --date={relative,local,default,iso,rfc}
Run Code Online (Sandbox Code Playgroud)

--date=local 似乎是最好的候选人.

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

  • 要使其"永久",请使用"git config --global log.date local". (46认同)
  • `local`有效.显然,提交包含自己的时区,但是`local`将它们全部转换为本地时区.但是,我真的希望将ISO或RFC翻译成单个时区.谁知道怎么做? (10认同)
  • 啊! `--date = iso-strict-local`用于严格的ISO8601.甜! (2认同)
  • 我不知道为什么带有 `iso` 格式的 `--date=local` 不能在我的 Ubuntu 机器上工作。我仍然得到 TZ 抵消。请任何帮助 (2认同)

bon*_*ond 34

git log --date=local
Run Code Online (Sandbox Code Playgroud)

诀窍.

git config --global log.date local
Run Code Online (Sandbox Code Playgroud)


小智 27

TZ=UTC git log --date=local
Run Code Online (Sandbox Code Playgroud)

为了获得非本地时区的一次性输出.

  • 或者`--date ='format-local:%Y%m%dT%H%M%SZ'`用于紧凑的ISO 8601格式(或任何其他格式). (4认同)

Fab*_*eco 8

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

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

git log --date=iso-local
Run Code Online (Sandbox Code Playgroud)

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


小智 7

完整的命令行答案:

TZ=GMT git show -s --format=%cd --date=iso-local
Run Code Online (Sandbox Code Playgroud)


小智 5

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

git log --date=format:%Y-%m-%d\ %H:%M
Run Code Online (Sandbox Code Playgroud)

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