Найти время в миллисекундах с помощью Powershell?

Как я могу найти время в миллисекунде с помощью Powershell?

4 ответов


в powershell вы можете привести значение времени к timespan и вызвать метод totalmilliseconds:

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

( [timespan] ( get-date ).ToShortTimeString() ).TotalMilliseconds # return total milliseconds from 00:00:00 to now

вы можете получить полную дату с millseconds следующим образом :

Get-Date -Format HH:mm:ss.fff

вопрос предлагает найти заданное время в миллисекундах (время эпохи Microsoft). Это легко решить с помощью:

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

или

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

чтобы преобразовать это в время эпохи Unix в секундах:

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

где 11644473600-количество секунд, прошедших между эпохой Microsoft (1 января 1601 года н. э.) и эпохой Unix (1 января 1970 года, 12 часов утра UTC / GMT)

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


Если вам нужно (sub-)разрешение миллисекунды, проверьте