Trouver du temps en millisecondes avec Powershell?

Comment puis-je trouver le temps en milliseconde en utilisant Powershell?

10
demandé sur CJBS 2012-01-30 10:42:00

4 réponses

dans powershell vous pouvez lancer une valeur de temps à une durée et appeler la méthode totalmillisecondes:

( [timespan]"00:05:00" ).TotalMilliseconds # return  300000

( [timespan] ( get-date ).ToShortTimeString() ).TotalMilliseconds # return total milliseconds from 00:00:00 to now
5
répondu CB. 2012-01-30 06:58:11

vous pouvez obtenir un maximum de date avec millseconds avec le code suivant :

Get-Date -Format HH:mm:ss.fff
21
répondu freakydinde 2014-07-15 15:14:43

la question suggère de trouver une date donnée en millisecondes (heure Microsoft epoch). Ceci est facilement résolu avec:

[Math]::Round((Get-Date).ToFileTime()/10000)

ou

[Math]::Round((Get-Date).ToFileTimeUTC()/10000)

pour convertir ce temps en temps Unix en secondes:

[Math]::Round((Get-Date).ToFileTime() / 10000000 - 11644473600)

où 11644473600 est le nombre de secondes écoulées entre L'époque de Microsoft (1er janvier 1601 A. D. (C. E.)) et L'époque Unix (1er janvier 1970, 12AM UTC / GMT)

https://msdn.microsoft.com/en-us/library/system.datetime.tofiletime(v=vs. 110).aspx

4
répondu Brian McMahon 2017-07-10 20:52:45

si vous avez besoin d'une résolution (sub-)milliseconde, Vérifiez Système.Diagnostic.Chronomètre.

$stopwatch = New-Object System.Diagnostics.Stopwatch
$stopwatch.Start()
$stopwatch.Stop()
$stopwatch
3
répondu OldFart 2012-01-30 15:24:21