6 votes

Conversion du temps 121.419419 en minutes/secondes lisibles

Je voudrais calculer le temps d'exécution de mon script, mais mon résultat de get-date est en totalseconds.

Comment puis-je convertir cela en 31:14:12 en heures:minutes:secondes ?

14voto

Shay Levy Points 41404
PS> $ts = New-TimeSpan -Seconds 1234567
PS> '{0:00}:{1:00}:{2:00}' -f $ts.Hours,$ts.Minutes,$ts.Seconds
06:56:07

ou

PS> "$ts" -replace '^\d+?\.'
06:56:07

8voto

manojlds Points 96599

Il suffit d'utiliser l'option Measure-Command cmdlet pour obtenir l'heure :

PS > measure-command { sleep 5}

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 5
Milliseconds      : 13
Ticks             : 50137481
TotalDays         : 5.80294918981481E-05
TotalHours        : 0.00139270780555556
TotalMinutes      : 0.0835624683333333
TotalSeconds      : 5.0137481
TotalMilliseconds : 5013.7481

La sortie ci-dessus peut être suffisante pour vous, ou vous pouvez la formater de manière appropriée car la sortie de Measure-Command est un objet TimeSpan. Vous pouvez également utiliser ToString :

PS > (measure-command { sleep 125}).tostring()
00:02:05.0017446

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