2012-01-30 14 views

答えて

5

PowerShellでは、タイムスパンに時間値をキャストしてメソッドを呼び出すことができtotalmilliseconds:あなたは(サブ)ミリ秒の分解能が必要な場合は、System.Diagnostics.Stopwatchをチェックアウト

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

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

powershellスクリプトを学ぶための良い本を教えてください。私は本当に感謝しています –

+1

このオンラインブックを読んで始めてください:http://powershell.com/cs/blogs/ebook/ –

+0

秒未満の精度で初期値をキャストする必要がある場合は、次を使用することができます: '([ TimeSpan] :: FromSeconds(0.9780526)).TotalMinutes#return 0.0163' –

3

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

次をミリ秒内で完全な日付を取得することができます:

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

編集に感謝、どのように灰色の背景を設定しますか? – freakydinde

+1

彼はコードにマークダウンを使用しました。それはバックティックで始まり、終わります。 ' –

3

質問はミリ秒単位で(マイクロソフトのエポックタイムを)与えられた日時を見つけることを示唆しています。これは、簡単に解決される。

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

または

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

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

11644473600は、Microsoftのエポック間の経過秒数である
[Math]::Round((Get-Date).ToFileTime()/10000000 - 11644473600) 

(1601年1月1日AD(CE))とUnixエポック(1970年1月1日、12AM UTC/GMT)

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

+0

マイクロソフトでは、その時代から100ナノ秒の間隔を数えます。これはミリ秒に変換する必要があります。 –

関連する問題