Comment puis-je trouver le temps en millisecondes à l'aide de PowerShell?
Dans PowerShell, vous pouvez convertir une valeur de temps en un intervalle de temps et appeler la méthode TotalMilliseconds :
([TimeSpan]"00:05:00").TotalMilliseconds # Returns 300000
([TimeSpan] (Get-Date).ToShortTimeString()).TotalMilliseconds # Returns total milliseconds from 00:00:00 till now
Vous pouvez obtenir la date complète en millisecondes avec les éléments suivants:
Get-Date -Format HH:mm:ss.fff
La question suggère de trouver un datetime donné en millisecondes (temps Microsoft Epoch). Ceci est facilement résolu avec:
[Math]::Round((Get-Date).ToFileTime()/10000)
ou
[Math]::Round((Get-Date).ToFileTimeUTC()/10000)
Pour convertir cela en temps Unix Epoch en secondes:
[Math]::Round((Get-Date).ToFileTime() / 10000000 - 11644473600)
Où 11644473600 est le nombre de secondes écoulées entre l'époque Microsoft (1er janvier 1601 après JC (C.E.)) et l'époque Unix (1er janvier 1970, 12h00 UTC/GMT)
https://msdn.Microsoft.com/en-us/library/system.datetime.tofiletime (v = vs.110) .aspx
Si vous avez besoin d'une résolution (sous-) milliseconde, consultez System.Diagnostics.Stopwatch .
$stopwatch = New-Object System.Diagnostics.Stopwatch
$stopwatch.Start()
$stopwatch.Stop()
$stopwatch