86 votes

git : fuseau horaire et format d'horodatage

Depuis git, je peux obtenir l'horodatage :

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

mais y a-t-il un moyen de l'afficher comme :

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

Tout ce que je veux, c'est me débarrasser du décalage du fuseau horaire -0600. Comment puis-je y parvenir ? Merci.

8 votes

FYI, 2011-10-04 12:58:36 -0600 serait 2011-10-04 18:58:36 UTC. Vous avez fait une conversion incorrecte dans votre exemple.

100voto

Lazy Badger Points 30623

Si vous demandez le journal git, vous pouvez essayer de sélectionner la forme la plus correcte :

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

--date=local semble être le meilleur candidat.

Pour rendre cela permanent, utilisez git config --global log.date local .

50 votes

Pour rendre cela "permanent", utilisez "git config --global log.date local".

12 votes

local fonctionne. Apparemment, un commit inclut son propre fuseau horaire, mais local les convertit tous dans le fuseau horaire local. Cependant, je veux vraiment que les ISO ou RFC soient traduits dans un seul fuseau horaire. Quelqu'un sait-il comment faire ?

2 votes

Ah ! --date=iso-strict-local pour la stricte norme ISO8601. Sucré !

37voto

bond Points 561
git log --date=local

Ça fait l'affaire.

git config --global log.date local

1 votes

Quand je cours : git log --date=local --pretty=format:"%ai,%an,%ae,%s" J'ai toujours un décalage de fuseau horaire. Il n'y a pas de --data=local travailler avec iso des dates ?

0 votes

@user2436428 si vous vérifiez documentation git log recherche de format:<chaîne> vous verrez que vous devez utiliser : %ad : date de l'auteur (le format respecte l'option --date=) au lieu de %ai date de l'auteur, format ISO 8601

37voto

Christian Points 41
TZ=UTC git log --date=local

afin d'obtenir une sortie en fuseau horaire unique non local.

1 votes

TZ=UTC git log --date=iso-local pour utiliser la norme ISO 8601

7 votes

Ou --date='format-local:%Y%m%dT%H%M%SZ' pour un format compact ISO 8601 (ou tout autre format).

0 votes

J'utilise date = format-local:%a %d-%b-%Y %H:%M pour donner Fri 05-Oct-2018 19:55 . Voici la liste des formats de date stackoverflow.com/a/34778736/58678

8voto

fmarreco Points 161

Malheureusement, l'utilisation de git log --date=local comme expliqué dans les réponses précédentes, change le format de sortie.

Pour garder le format tel que demandé ( YYYY-MM-DD HH:mm ) que j'ai dû utiliser :

git log --date=iso-local

Mais cela ne fonctionne que sur git 2.7 ou plus.

8voto

Will Wright Points 179

Pour obtenir le format ( YYYY-MM-DD HH:hh ), vous pouvez utiliser :

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

Fonctionne aussi très bien avec Git Standup : https://github.com/kamranahmedse/git-standup

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X