2011-10-04 118 views
45

从混帐我可以得到时间戳:混帐:时区和时间戳格式

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

,但有什么办法来显示它为:

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

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

+0

仅供参考,'2011-10-04 12:58:36 -0600'将是'2011-10-04 18:58:36' UTC。您在示例中转换不正确。 –

回答

46

如果你问git的日志,你可以尝试从中选择最正确的形式

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

--date =当地似乎最佳人选

+37

要使这个“永久”,使用“git config --global log.date local”。 – rickumali

+10

“本地”作品。显然,提交包含自己的时区,但“本地”将它们全部转换为当地时区。但是,我真的希望将ISO或RFC转换为单个时区。任何人都知道如何做到这一点? – cdunn2001

+1

@ cdunn2001请参阅http://stackoverflow.com/a/32990648/6309 – VonC

21
TZ=UTC git log --date=local 

,以获得非本地 - 时区单时区输出。

+0

'TZ = UTC git log --date = iso-local'使用ISO 8601 – Brice

+1

或'--date ='format-local:%Y%m%dT%H%M%SZ'' for a紧凑的ISO 8601格式(或任何其他格式)。 – robinst

31
git log --date=local 

是否有窍门。

git config --global log.date local 
+1

当我运行:'git log --date = local --pretty = format:“%ai,%an,%ae,%s”',我仍然得到时区偏移量。 不是'--data = local'与** iso **日期一起工作吗? – user2436428

+0

@ user2436428如果您检查[git log documentation](https://git-scm.com/docs/git-log)搜索_format: _您将看到您需要使用:_ **%ad **:作者日期(格式方面 - 日期=选项)_而不是_ **%ai **:作者日期,ISO 8601-like格式_ – ptha

0

如果你想显示在YYYY-MM-DD HH git的日期:MM:SS格式:

DATE = $(GIT日志-n 1 --pretty =格式为:“%广告“--date = ISO)
回声 ”日期:$ {DATE :: 20}“

5

不幸的是,使用git log --date=local在以前的答案是解释改变输出格式。

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

git log --date=iso-local 

但是,这仅适用于混帐2.7以上。

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的/钩/准备提交-MSG文件:

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

如果你主要使用桌面应用程序,它的可爱与显示变化的确切时间提交列表!

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