现在是三月八号。我想看看3月1日以来的吉特历史。为此,我使用命令:
$ git log --pretty="%cd - %h - %an - %s" --after="2013-3-01 0am"效果很好。然后,我希望看到历史“在未来”(因为3月8日将after值增加+1天)。示例:
$ git log --pretty="%cd - %h - %an - %s" --after="2013-3-11 0am"命令返回空历史记录,这是正确的。然后after值等于18:
$ git log --pretty="%cd - %h - %an - %s" --after="2013-3-18 0am"Git开始返回完整的月份历史记录。为什么?在我的示例中,git log日期时间格式似乎有问题。
git版本1.7.12.4 (Apple Git-37)
发布于 2013-03-08 19:43:38
在这个问题上有一个开虫。如果您已经从源构建了git,则包含一个test-date实用程序。下面是通过它运行不同日期的一些结果(备注-18不再是我的断点,所以使用19):
$ ./test-date approxidate "2013-3-01 0am"
2013-3-01 0am -> 2013-03-01 19:22:21 +0000
$ ./test-date approxidate "2013-3-11 0am"
2013-3-11 0am -> 2013-03-11 19:22:21 +0000
$ ./test-date approxidate "2013-3-19 0am"
2013-3-19 0am -> 2013-03-03 19:22:21 +0000很明显,时间在所有情况下都是有问题的,所以让我们来确定一下时间:
$ ./test-date approxidate "2013-3-01 0:00"
2013-3-01 0:00 -> 2013-03-01 08:00:00 +0000
$ ./test-date approxidate "2013-3-19 0:00"
2013-3-19 0:00 -> 2013-03-19 07:00:00 +0000这看起来更好一些,而且我们的未来日期不再严重错误,但时间相对于我的时区而言是不同的,有无DST (E:对于任何未来的读者来说,DST的转换发生在2013-03-10年间,因此这些日期确实包含了DST)。
$ ./test-date approxidate "2013-3-19 0:00 +0000"
2013-3-19 0:00 +0000 -> 2013-03-19 00:00:00 +0000现在我们的约会看起来好多了。如果我确实希望时区生效,现在很容易更改为-0800/-0700、PST、PDT或任何其他时区。
简言之,有两个问题:
dd并在当前月份的某一天使用您的mm:
$./test-日期批准" 2013-3-20“2013-20 -> 2013-03-03 19:22:21 +0000 $./测试-日期审批" 2013-4-19”2013-19 -> 2013-03-04 19:22:21 +0000 $./test-日期核准" 2013-4-32“2013-32 -> 2013-03-04 19:22:21 +0000您的问题应该通过固定时间和根据意图添加时区来解决。
https://stackoverflow.com/questions/15300807
复制相似问题