使用PowerShell查找时间(以毫秒为单位)?

时间:2012-01-30 06:42:00

标签: powershell timespan

如何使用PowerShell查找以毫秒为单位的时间?

5 个答案:

答案 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