Поля Git Commit Object Author и Commiter

Я пытаюсь создать сервер с использованием Java, который работает на компьютере с Linux, и я хотел бы, чтобы мой сервер поддерживал Git аналогично GitHub. Я понял много вещей, чтобы достичь этого, но есть одна вещь, которую я хотел бы знать...

Предполагая, что у меня есть следующий объект Git (с заголовком), дефлированный и сохраненный в файловой системе.

tree d35e45b7a3ec1bfd4d91b87c16d08fc4effc6dba
parent 385f73f0f5d38c6258a7d55038c9ceb24cd63157
author ThePyroEagle <[email protected]> 1418335844 +0000
commiter ThePyroEagle <[email protected]> 1418335844 +0000

Что означает «1418335844 +0000» в конце?

Я подумал, что это может быть отметка времени в миллисекундах, но когда я проанализировал ее, я получил «17 января 1970 года», используя следующий код.

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

Что бы это ни было, как мне его разобрать?


person ThePyroEagle    schedule 10.01.2015    source источник
comment
Это метка времени, но в секундах   -  person fge    schedule 10.01.2015


Ответы (2)


В git commit формате даты указано:

Git внутренний формат

Это <unix timestamp> <time zone offset>, где:

  • <unix timestamp> - это количество секунд, прошедших с эпохи UNIX.
  • <time zone offset> — положительное или отрицательное смещение от UTC. Например, CET (что на 2 часа впереди UTC) равно +0200.

Видеть:

person VonC    schedule 10.01.2015
comment
Спасибо за полезную информацию. Дата, которую вы получили с конвертером, является точной датой коммита. - person ThePyroEagle; 10.01.2015

Это отметка времени в секундах: 2014-12-11T22:10:44+00:00.

person chrylis -cautiouslyoptimistic-    schedule 10.01.2015