我想将 git 日期转换为 Ymd 的格式。这是我的尝试:
$>>git log -1 --format="%cd" | xargs date Y%m%d
但这会返回此错误:
date: extra operand ‘Thu’
Try 'date --help' for more information.
任何想法如何像这样转换 git 日期:
Thu Sep 19 17:03:12 2013 +0100
对于这样的事情:
20130919
谢谢。
如果您git
发出 UNIX 时间戳会更容易。说:
git log -1 --format="%at" | xargs -I{} date -d @{} +%Y%m%d
从文档中:
%at
:作者日期,UNIX 时间戳
而不是 using %cd
,使用%ct
which 将获取时间戳:
git log -1 --format="%ct" | xargs -i -- date -d '@{}' '+%Y%m%d'
你想要| xargs -i date -d {} +%Y%m%d
……
请注意-d
用于传递当前时间以外的日期的选项(并xargs -i
在命令行中间获取它)和+
指定日期格式说明符(以及缺少%
的 for %Y
)。
等效地,没有xargs
,
date -d "$(git log -1 --format="%cd")" +%Y%m%d