2011-10-04 164 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文件?