git日期语法规范

10 git

是否有任何关于传递给git的日期语法的规范?例如,"git rev-list"的"--before"选项接受哪些日期?

假设没有这样的规范,有没有办法让git将日期转换为规范形式,以便可以检查给定的日期字符串是否被解释为人们期望的?(更新:我已经编写了一个脚本来执行此操作,此处可用 .)

信息说明:日期解析似乎是在git的存储库的根目录中的date.c文件中实现的."入口点"似乎是一个名为approxidate_careful的函数.

mic*_*has 5

正如您已经发现的那样,git 通常使用近似值来解析各种时间。\n这允许您编写各种自然到疯狂的方式来指定时间。

\n\n

这允许您编写诸如 \xe2\x80\x9csix 分钟前\xe2\x80\x9d 或 \xe2\x80\x9clast Tuesday\xe2\x80\x9d 甚至“下午茶时间”之类的内容,并且近似通常会理解您的意思。除了您已经找到的来源之外,我不知道有任何明确的文档。

\n\n

关于该主题的一个不错的博客文章是http://www.alexpeattie.com/blog/working-with-dates-in-git/

\n


Ry-*_*Ry- 5

据我所知,它没有明确指出,但它似乎接受它可以输出的所有格式,如该--date选项的文档中所述:

--date=(relative|local|default|iso|rfc|short|raw)

仅对以人类可读格式显示的日期生效,例如使用时 --pretty.log.dateconfig变量为log命令的--date选项设置默认值.

--date=relative 显示相对于当前时间的日期,例如"2小时前".

--date=local 显示用户本地时区的时间戳.

--date=iso(或--date=iso8601)显示ISO 8601格式的时间戳.

--date=rfc(或--date=rfc2822)显示RFC 2822格式的时间戳,通常在电子邮件中找到.

--date=shortYYYY-MM-DD格式中仅显示日期而非时间.

--date=raw以内部原始git格式显示日期%s %z.

--date=default 显示原始时区中的时间戳(提交者或作者).