の場合、キーを使用して、次のように日付のみを出力する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
して、ニーズに合った助けを得ることだと思います。