hg ログタイムゾーンの形式

hg ログタイムゾーンの形式

の場合、キーを使用して、次のように日付のみを出力するhg形式を設定できます。--template

> hg log -l1 --template "{date(date, '%Y-%m-%d %H:%M:%S')}\n"  
2016-10-07 10:22:41

%zコントロールを使用してタイムゾーンオフセットを出力できます。

> hg log -l1 --template "{date(date, '%Y-%m-%d %H:%M:%S %z')}\n"
2016-10-07 10:22:41 +0300

また、OpenSusedateの実装では、%:::zより読みやすい形式を制御できます。

> date +'%Y-%m-%d %H:%M:%S %:::z'
2016-10-07 11:03:34 +03

これはPOSIXコントロールではありませんが、hg logフォーマット時に同様の効果を得る方法はありますか?単純なアプローチは機能しません。

> hg log -l1 --template "{date(date, '%Y-%m-%d %H:%M:%S %:::z')}\n"  
2016-10-07 10:22:41 %:::z

からman date

%:::z 数値タイムゾーン: 必要な精度 (例: -04, +05:30)

答え1

isodateフィルタは、必要なものに最も近いようです。

$ hg log -r1 --template 'date: {date|isodate}\n'
date: 2009-05-05 06:55 +0000

isodate:日付キーワード。日付をISO 8601形式のテキスト文字列としてレンダリングします。 「2006-09-04 15:13:13 -0700」に似た文字列を生成します。

タイムゾーンを圧縮することは不可能なようです。これは、「SO Q&A」というタイトルのQ&Aでも参照されます。水銀除去日

したがって、最良の方法は、出力を使用またはsed整理awkして、ニーズに合った助けを得ることだと思います。

引用する

関連情報