hg 日志时区格式

hg 日志时区格式

对于hg,我可以使用 key 设置格式以--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”的问答中也提到了这一点:脱汞日期

因此,我认为您最好的选择是使用sedawk清理输出来寻求帮助以满足您的需求。

参考

相关内容