我想将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
感谢。
答案 0 :(得分:9)
如果让git
发出UNIX时间戳,会更容易。说:
git log -1 --format="%at" | xargs -I{} date -d @{} +%Y%m%d
%at
:作者日期,UNIX时间戳
答案 1 :(得分:3)
不使用%cd
,而是使用%ct
来获取时间戳:
git log -1 --format="%ct" | xargs -i -- date -d '@{}' '+%Y%m%d'
答案 2 :(得分:2)
你想...... | xargs -i date -d {} +%Y%m%d
。
注意-d
选项,用于传递当前时间以外的日期(和xargs -i
以在命令行中间获取)和+
以指定日期格式说明符(%
)缺少%Y
。
等效,没有xargs
,
date -d "$(git log -1 --format="%cd")" +%Y%m%d