1

我正在尝试使用在 Linux 机器上运行的 Java 制作服务器,并且我希望我的服务器以与 GitHub 类似的方式支持 Git。我已经想出了很多事情来实现这一目标,但有一件事我想知道......

假设我将以下 Git 对象(带有标题)放气并存储在文件系统中。

tree d35e45b7a3ec1bfd4d91b87c16d08fc4effc6dba
parent 385f73f0f5d38c6258a7d55038c9ceb24cd63157
author ThePyroEagle <exampleEmail@example.com> 1418335844 +0000
commiter ThePyroEagle <exampleEmail@example.com> 1418335844 +0000

最后的“1418335844 +0000”是什么意思?

我认为这可能是以毫秒为单位的时间戳,但是当我解析它时,我使用以下代码得到“1970 年 1 月 17 日”。

Date date = new Date(1418335844L);
System.out.printf("Current Time: %s\n",
        (new SimpleDateFormat("dd MMMM yyyy")).format(date));

不管这可能是什么,我将如何解析它?

4

2 回答 2

3

git commit日期格式规定:

Git 内部格式

它是<unix timestamp> <time zone offset>,其中:

  • <unix timestamp>是自 UNIX 纪元以来的秒数。
  • <time zone offset>是与 UTC 的正偏移或负偏移。例如 CET(比 UTC 提前 2 小时)是+0200.

看:

于 2015-01-10T09:42:22.767 回答
2

这是一个以秒为单位的时间戳:2014-12-11T22:10:44+00:00。

于 2015-01-10T09:41:58.570 回答