Ich brauche das Datum in einem speziellen Format.
Mit Git 2.21 (Q1 2019) wurde ein neues Datumsformat " --date=human
" eingeführt, das seine Ausgabe abhängig davon ändert, wie weit die Zeit von der aktuellen Zeit entfernt ist .
" --date=auto
" kann verwendet werden, um dieses neue Format zu verwenden, wenn die Ausgabe an den Pager oder an das Terminal geht, andernfalls das Standardformat.
Siehe Commit 110a6a1 , Commit b841d4f (29. Januar 2019) und Commit 038a878 , Commit 2fd7c22 (21. Januar 2019) von Stephen P. Smith (``) .
Siehe Commit acdd377 (18. Januar 2019) von Linus Torvalds ( torvalds
) .
(Zusammengeführt von Junio C Hamano - gitster
- in commit ecbe1be , 07. Februar 2019)
Fügen Sie eine Dokumentation zum Datumsformat "Mensch" hinzu
Zeigen Sie Datums- und Uhrzeitinformationen in einem Format an, das dem Schreiben von Datumsangaben in anderen Kontexten ähnelt.
Wenn das Jahr nicht angegeben ist, schließt der Leser, dass das angegebene Datum im aktuellen Jahr liegt .
Indem die redundanten Informationen nicht angezeigt werden, konzentriert sich der Leser auf die Informationen, die unterschiedlich sind .
Der Patch meldet relative Daten basierend auf Informationen, die aus dem Datum auf dem Computer abgeleitet wurden, auf dem der git
Befehl zum Zeitpunkt der Befehlsausführung ausgeführt wird.
Während das Format für Menschen nützlicher ist, indem abgeleitete Informationen gelöscht werden, gibt es nichts, was es tatsächlich menschlich macht.
Wenn das relative
Datumsformat nicht bereits implementiert relative
wäre, wäre die Verwendung von ' ' angemessen gewesen.
Hinzufügen von human
Datumsformat-Tests.
Bei Verwendung werden human
mehrere Felder abhängig von der Zeitdifferenz zwischen dem Referenzdatum und dem lokalen Computerdatum unterdrückt.
- In Fällen, in denen die Differenz weniger als ein Jahr beträgt, wird das Jahresfeld unterdrückt.
- Wenn die Zeit weniger als einen Tag beträgt; Der Monat und das Jahr werden unterdrückt.
check_date_format_human 18000 "5 hours ago" # 5 hours ago
check_date_format_human 432000 "Tue Aug 25 19:20" # 5 days ago
check_date_format_human 1728000 "Mon Aug 10 19:20" # 3 weeks ago
check_date_format_human 13000000 "Thu Apr 2 08:13" # 5 months ago
check_date_format_human 31449600 "Aug 31 2008" # 12 months ago
check_date_format_human 37500000 "Jun 22 2008" # 1 year, 2 months ago
check_date_format_human 55188000 "Dec 1 2007" # 1 year, 9 months ago
check_date_format_human 630000000 "Sep 13 1989" # 20 years ago
## Ersetzen Sie den vorgeschlagenen ' auto
' Modus durch ' auto:
'
Zusätzlich zum Hinzufügen des ' human
' - Formats fügte der Patch das auto
Schlüsselwort hinzu , das in der Konfigurationsdatei als alternative Möglichkeit zur Angabe des menschlichen Formats verwendet werden kann. Durch Entfernen von 'auto' wird die Formatschnittstelle '' bereinigt human
.
Es wurde die Möglichkeit hinzugefügt, den Modus ' foo
' anzugeben , wenn der Pager mithilfe der auto:foo
Syntax verwendet wird.
Daher ist der auto:human
Datumsmodus standardmäßig auf ' ' eingestellt, human
wenn wir den Pager verwenden.
So können Sie tun:
git config --add log.date auto:human
und Ihre " git log
" Befehle geben das für Menschen lesbare Format an, es sei denn, Sie schreiben Skripte.
Git 2.24 (Q4 2019) hat den Code vereinfacht.
Siehe Commit 47b27c9 , Commit 29f4332 (12. September 2019) von Stephen P. Smith (``) .
(Zusammengeführt von Junio C Hamano - gitster
- in Commit 36d2fca , 07. Oktober 2019)
Beenden Sie die Übergabe von "Jetzt" an den Datumscode
Commit b841d4f ( human
Format zum Test-Tool hinzufügen, 2019-01-28, Git v2.21.0-rc0) hat eine get_time()
Funktion hinzugefügt , mit der $GIT_TEST_DATE_NOW
in der Umgebung die aktuelle Zeit überschrieben werden kann.
Wir müssen diese Variable also nicht mehr in interpretieren cmd__date()
.
Daher können wir aufhören, den now
Parameter " " über die Datumsfunktionen weiterzugeben, da sie von niemandem verwendet werden.
Beachten Sie, dass wir sicherstellen müssen, dass alle vorherigen Aufrufer, die einen " now
" -Parameter verwendet haben, korrekt verwendet werden get_time()
.