web-dev-qa-db-ja.com

PowerShellを使用してミリ秒単位で時間を見つけますか

PowerShellを使用してミリ秒単位で時間を確認するにはどうすればよいですか?

18

PowerShellでは、時間値をタイムスパンにキャストして、 TotalMilliseconds メソッドを呼び出すことができます。

([TimeSpan]"00:05:00").TotalMilliseconds # Returns 300000

([TimeSpan] (Get-Date).ToShortTimeString()).TotalMilliseconds # Returns total milliseconds from 00:00:00 till now
3
CB.

以下を使用すると、完全な日付をミリ秒で取得できます。

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

質問は、ミリ秒(Microsoft Epoch time)で指定された日時を見つけることを示唆しています。これは簡単に解決できます:

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

または

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

これを秒単位のUnixエポック時間に変換するには:

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

11644473600は、Microsoftエポック(1601 A.D.(C.E.)の1月1日)とUnixエポック(1970年1月1日、12AM UTC/GMT)の間の経過秒数です。

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

5
Brian McMahon

(サブ)ミリ秒の解像度が必要な場合は、 System.Diagnostics.Stopwatch を確認してください。

$stopwatch = New-Object System.Diagnostics.Stopwatch
$stopwatch.Start()
$stopwatch.Stop()
$stopwatch
3
OldFart