如何使用PowerShell查找以毫秒为单位的时间?
答案 0 :(得分:28)
您可以使用以下内容获取完整日期(毫秒):
Get-Date -Format HH:mm:ss.fff
答案 1 :(得分:5)
问题建议以毫秒(Microsoft纪元时间)查找给定的日期时间。这可以通过以下方式轻松解决:
[Math]::Round((Get-Date).ToFileTime()/10000)
或
[Math]::Round((Get-Date).ToFileTimeUTC()/10000)
要以秒为单位将其转换为Unix纪元时间:
[Math]::Round((Get-Date).ToFileTime() / 10000000 - 11644473600)
其中11644473600是Microsoft纪元(公元前1601年1月1日(C.E.))和Unix纪元(1970年1月1日,UTC时间上午12点/格林威治标准时间)之间经过的秒数
https://msdn.microsoft.com/en-us/library/system.datetime.tofiletime(v=vs.110).aspx
答案 2 :(得分:3)
在PowerShell中,您可以将时间值转换为时间跨度并调用TotalMilliseconds方法:
([TimeSpan]"00:05:00").TotalMilliseconds # Returns 300000
([TimeSpan] (Get-Date).ToShortTimeString()).TotalMilliseconds # Returns total milliseconds from 00:00:00 till now
答案 3 :(得分:3)
如果您需要(亚)毫秒分辨率,请查看System.Diagnostics.Stopwatch。
$stopwatch = New-Object System.Diagnostics.Stopwatch
$stopwatch.Start()
$stopwatch.Stop()
$stopwatch
答案 4 :(得分:0)
这应该有效:
[DateTimeOffset]::UtcNow.ToUnixTimeMilliseconds()
返回
1624186843769