2015-10-28 1 views
0

J'utilise Lib2GitSharp pour afficher un historique de toutes les validations dans différents référentiels. Toutes mes télécommandes sont sur le même serveur TFS (j'utilise Git pour TFS) et ont été configurées de la même manière. Cependant, pour certains des dépôts, je reçois l'auteur. Quand le temps est UTC et pour d'autres, je l'obtiens comme le temps dans le fuseau horaire local. Des idées??LibGit2Sharp - Obtention de dates différentes pour différents référentiels

Mon code est ci-dessous

foreach (LibGit2Sharp.Commit gitCommit in remote.Commits.Where(s => s.IsMergeCommit() == false).OrderByDescending(s => s.Author.When).Take(numberOfCommits)) 
     { 
      if (!gitCommit.IsMergeCommit()) 
      { 
       commits.Add(new PipelineMonitor.Data.Contract.Commit 
       { 
        DateCommitted = gitCommit.Author.When.DateTime, 
        Comment = gitCommit.MessageShort, 
        Id = gitCommit.Id.ToString(), 
        Owner = gitCommit.Author.Name, 
        WorkItemId = GetWorkItemId(gitCommit) 
       }); 
      } 
     } 
+0

'When' est un DateTimeOffset. Pourquoi extrayez-vous le DateTime local? – nulltoken

+0

C'est une exigence d'une application locale que j'écris. Le problème est que nous obtenons différents fuseaux horaires pour le champ à partir de différents référentiels. –

+0

Un 'DateTimeOffset' stockera l'heure UTC à côté de l'offset à l'UTC à partir du fuseau horaire qu'il a été créé. Si vous ne pouvez pas exposer 'DateTimeOffset', je vous suggère plutôt de retourner' When.UtcDateTime'. – nulltoken

Répondre

0

Vous pouvez spécifier le type de temps "UtcDateTime" pour "Quand" pour obtenir le temps UTC pour tous les engage:

DateCommitted = gitCommit.Author.When.UtcDateTime, 

Ou utilisez "LocalDateTime" pour obtenir l'heure locale pour toutes les validations si vous le souhaitez:

DateCommitted = gitCommit.Author.When.LocalDateTime, 
+0

Merci. Oui, j'utilisais When.DateTime. Passer à UtcDatetime a fait l'affaire pour moi. –