Найти время в миллисекундах с помощью 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
вопрос предлагает найти заданное время в миллисекундах (время эпохи 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