Git 如何解析日期?

How does Git parse the dates?

我试图在纪元时间之前进行提交,但似乎如果我这样做,git 说日期是 2014 年的某个时间:

$ git commit -m 'Minor' --date 'Wed Dec 31 00:00:00 1969 +0000' . --amend
[master 4d1ea4d] Minor
 Date: Tue Dec 30 23:00:00 2014 +0200
 1 file changed, 2 insertions(+)

但是如果我在纪元时间提交它确实有效:

$ git commit -m 'Minor' --date 'Thu Jan 1 00:00:00 1970 +0000' . --amend
[master d0623ee] Minor
 Date: Thu Jan 1 00:00:00 1970 +0000
 1 file changed, 2 insertions(+)

为什么?我如何强制 Git 在 1970 之前接受我的提交?我记得我曾经做过,但是使用的是 git 的旧版本。目前我正在使用 git version 2.1.4。也许更改源代码并重新编译我自己的 git 会起作用?

出于实验原因我需要这个——以防万一你们中的一些人会问为什么。 :)

这还不可能,正如我在“Is it possible to set a git commit to have a timestamp prior to 1970?

中提到的

您可以存储 1970 年之前的日期,但不能保证它会被正确表示。