Vorrei calcolare il tempo di esecuzione del mio script, ma il mio risultato dalla data di ricezione è in totalseconds.Conversione del tempo 121.419419 in minuti/secondi leggibili
Come posso convertire questo in 31:14:12 ore behing: minuti: secondi?
Vorrei calcolare il tempo di esecuzione del mio script, ma il mio risultato dalla data di ricezione è in totalseconds.Conversione del tempo 121.419419 in minuti/secondi leggibili
Come posso convertire questo in 31:14:12 ore behing: minuti: secondi?
PS> $ts = New-TimeSpan -Seconds 1234567
PS> '{0:00}:{1:00}:{2:00}' -f $ts.Hours,$ts.Minutes,$ts.Seconds
06:56:07
o
PS> "$ts" -replace '^\d+?\.'
06:56:07
Tutto quello che dovete fare è utilizzare il Measure-Command
cmdlet per ottenere il tempo:
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
L'uscita di sopra di sé potrebbe essere abbastanza buono per voi, o può formattarlo in modo appropriato poiché l'output di Measure-Command è un oggetto TimeSpan. Oppure puoi usare ToString
:
PS > (measure-command { sleep 125}).tostring()
00:02:05.0017446
Ottima risposta. Ho avuto questo stesso problema e .toString() era perfetto. Per me era meglio che analizzare ogni valore temporale dal comando measure-measure o convertire i tipi di tempo. Grazie! – tresstylez
Grazie mille Shay! Ho finito per fare il seguente: $ iniziano = (get-date) write-host "Script iniziato a $ start" for ($ i = 1; $ i -LT 5; $ i ++) {get processo | out-null sonno 1 echo "Il mio script goes here Lasciatemi contare a 5 per voi:. $ i" } $ finale = (Get-Date) $ periodo = new-periodo -seconds $ (($ end- $ start) .totalseconds) $ trascorso = '{0:00} h: {1:00} m: {2:00} s' -f $ timespan.Ore, $ timespan.Minutes, $ timespan. Secondi scrivere-host "Tempo: $ trascorso" – Sune
(il commento è leggibile?) – Sune
Sì, in pratica si ottiene la data di inizio e di fine e si sottrae l'una forma, il risultato è un oggetto temporizzato che è possibile formattare utilizzando -f operatore (es. $ timespan = $ start- $ end; '{0:00}: {1:00}: {2:00}' -f $ ts.Hours, $ ts.Minutes, $ ts.Seconds) . –