Подтвердить что ты не робот

Git: формат часового пояса и временной метки

Из git Я могу получить метку времени:

"2011-10-04 12:58:36 -0600"

но есть ли способ показать это как:

"2011-10-04 06:58:36"

Итак, все, что я хочу, это избавиться от смещения временной шкалы -0600. Как я могу это сделать? Спасибо.

4b9b3361

Ответ 1

Если вы спросите о git log, вы можете попробовать выбрать наиболее правильную форму из:

git log --date={relative,local,default,iso,rfc}

--date=local кажется, лучший кандидат.

Чтобы сделать это постоянным, используйте git config --global log.date local.

Ответ 2

git log --date=local

Есть трюк.

git config --global log.date local

Ответ 3

TZ=UTC git log --date=local

чтобы получить однозонный выход не локально-временной зоны.

Ответ 4

К сожалению, использование git log --date=local, как описано в предыдущих ответах, изменяет формат вывода.

Чтобы сохранить формат в соответствии с запросом (YYYY-MM-DD HH:mm), мне пришлось использовать:

git log --date=iso-local

Но это работает только на git 2.7 или выше.

Ответ 5

Чтобы получить формат (YYYY-MM-DD HH:hh), вы можете использовать:

git log --date=format:%Y-%m-%d\ %H:%M

Прекрасно работает и с Git Standup: https://github.com/kamranahmedse/git-standup

Ответ 6

Сообщение jveerman было действительно полезно:

Если вы хотите отобразить дату git в формате ГГГГ-ММ-ДД ЧЧ: ММ: СС:

DATE=$(git log -n 1 --pretty=format:"%ad" --date=iso)
echo "Date: ${DATE::20}"

Для формата журнала мне удалось добавить этот

[log]
date=format:%Y-%m-%d %H:%M:%S

для моего ~/.gitconfig

но получение такой же красиво отформатированной даты/времени, добавленной автоматически в мои сообщения о совершении, было испытанием. Я не нашел ничего полезного, пока не добавил его в файл .git/hooks/prepare-commit-msg:

DATE=$(git log -n 1 --pretty=format:"%ad" --date=iso)
echo "${DATE::20}" >> $1

Если вы в основном используете приложение "Настольное приложение", вам будет приятно указать точное время с указанием списка фиксации!

Есть ли способ сделать это глобальным, так что мне не нужно редактировать каждый файл repo prepare-commit-msg?

Ответ 7

Если вы хотите отобразить дату git в формате ГГГГ-ММ-ДД ЧЧ: ММ: СС:

DATE = $(git log -n 1 --pretty = format: "% ad" --date = iso)
echo "Дата: ${DATE:: 20}"

Ответ 8

Полный ответ командной строки:

TZ=GMT git show -s --format=%cd --date=iso-local