2011-10-04 8 views
45

のgit:私はタイムスタンプを取得することができますgitのから、タイムゾーンおよびタイムスタンプ形式

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

にはなくて、それを表示するにはどのような方法があります:

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

だから私が望むすべては取り除くことです-0600タイムゾーンオフセット。これどうやってするの?ありがとう。

+0

FYI、 '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

'local'が動作します。どうやら、コミットには独自のタイムゾーンが含まれていますが、 'local'はそれらをすべてローカルタイムゾーンに変換します。しかし、私は本当にISOまたはRFCを単一のタイムゾーンに変換したい。誰でもそのことを知っていますか? – cdunn2001

+1

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

21
TZ=UTC git log --date=local 

と思えます-timezone 1タイムゾーン出力。

+0

'TZ = UTC git log --date = iso-local'を使ってISO 8601 – Brice

+1

を使うか、' --date = 'format-local:%Y%m%dT%H%M%SZ''コンパクトな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を検索すると: _ _%%広告**: _A%**の代わりに著者の日付(形式は尊重--date = option)_:著者の日付、ISO 8601のような形式_ – ptha

0

あなたはYYYY-MM-DD HHでGitの日付を表示したい場合:MM:SS形式:

DATE = $(1 --pretty =フォーマット-n gitのログ: "%広告"--date = iso)
echo"日付:$ {DATE :: 20} "

5

残念ながら、以前の回答で説明したようにgit log --date=localを使用すると出力形式が変わります。

尋ねとして(YYYY-MM-DD HH:mm)フォーマットを維持するために私が使用していた:

git log --date=iso-local 

しかし、唯一のgitの2.7以上で動作すること。

4

形式(YYYY-MM-DD HH:hh)を取得するには、使用することができます:

git log --date=format:%Y-%m-%d\ %H:%M 

があまりにもGitの等身大パネルで美しく作品:https://github.com/kamranahmedse/git-standup

+1

' - 日付=形式:... '私のためのトリック、ありがとう! – Anto

1

jveermanの投稿は本当に便利だった:

したい場合git dateをYYYY-MM-DD HH:MM:SS形式で表示する:

ログ形式について
DATE=$(git log -n 1 --pretty=format:"%ad" --date=iso) 
echo "Date: ${DATE::20}" 

私は〜/ .gitconfig

にこの

[log] 
date=format:%Y-%m-%d %H:%M:%S 

を追加することができましたが、同じきれいにフォーマットされた日付/時刻を得ることが私のコミットメッセージに自動的に追加さは試練でした。あなたは主にデスクトップアプリを使用している場合

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

、それはで示さ変更の正確な時間を持つことが愛らしいです:私は.git /フック/準備コミット-MSGファイルにこれを追加するまで、私は有用何も見つかりませんでしたコミットのリスト!

これをグローバルにする方法はありますか?それぞれのローカルリポジトリのprepare-commit-msgファイルを編集する必要はありませんか?

関連する問題