З git я можу отримати позначку часу:
"2011-10-04 12:58:36 -0600"
але чи є спосіб показати це як:
"2011-10-04 06:58:36"
Тому все, що я хочу - це позбутися від зміщення часового поясу -0600. Як я можу це зробити? Дякую.
Відповіді:
Якщо ви запитаєте про git log, ви можете спробувати вибрати найбільш правильну форму з:
git log --date={relative,local,default,iso,rfc}
--date=local
здається найкращим кандидатом.
Щоб зробити це постійним, використовуйте git config --global log.date local
.
local
робіт. Очевидно, коміт включає власний часовий пояс, але local
перекладає їх усі у місцевий часовий пояс. Однак я дуже хочу перекласти ISO або RFC в єдиний часовий пояс. Хтось знає, як це зробити?
--date=iso-strict-local
за суворим стандартом ISO8601. Солодко!
--date=local
з iso
форматом не працюють мої машини Ubuntu. Я все ще отримую компенсацію TZ. Будь-яка допомога, будь ласка
git log --date=local
Робить фокус.
git config --global log.date local
git log --date=local --pretty=format:"%ai,%an,%ae,%s"
я все ще отримую зміщення часового поясу. Не --data=local
працює з датами iso ?
TZ=UTC git log --date=local
щоб отримати одноразовий вихід часового поясу не в місцевому часовому поясі.
TZ=UTC git log --date=iso-local
використовувати ISO 8601
--date='format-local:%Y%m%dT%H%M%SZ'
для компактного формату ISO 8601 (або будь-якого іншого формату).
date = format-local:%a %d-%b-%Y %H:%M
даю Fri 05-Oct-2018 19:55
. Ось список форматів дати stackoverflow.com/a/34778736/58678
На жаль, використання, git log --date=local
як пояснювалось у попередніх відповідях, змінює вихідний формат.
Щоб зберегти формат за запитом ( YYYY-MM-DD HH:mm
), мені довелося використати:
git log --date=iso-local
Але це працює лише на git 2.7 або вище.
Щоб отримати формат ( YYYY-MM-DD HH:hh
), ви можете використовувати:
git log --date=format:%Y-%m-%d\ %H:%M
Також чудово працює з Git Standup: https://github.com/kamranahmedse/git-standup
Допис jveerman був справді корисним:
Якщо ви хочете відобразити дату git у РРРР-ММ-ДД ЧЧ: ММ: формат SS:
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 / priprema-коміт-msg:
DATE=$(git log -n 1 --pretty=format:"%ad" --date=iso)
echo "${DATE::20}" >> $1
Якщо ви в основному використовуєте програму Desktop, чудово мати точний час зміни, показаний у списку комітів!
Чи є якийсь спосіб зробити це глобальним, тому мені не потрібно редагувати кожен файл місцевого репо-файлу prepa-commit-msg?
Повна відповідь командного рядка:
TZ=GMT git show -s --format=%cd --date=iso-local
2011-10-04 12:58:36 -0600
це буде2011-10-04 18:58:36
UTC. Ви неправильно перетворили у своєму прикладі.