Trouver du temps en millisecondes avec Powershell?
Comment puis-je trouver le temps en milliseconde en utilisant Powershell?
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
vous pouvez obtenir un maximum de date avec millseconds avec le code suivant :
Get-Date -Format HH:mm:ss.fff
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
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