2012-01-30 16 views

Respuesta

5

En PowerShell puede convertir un valor de tiempo a un intervalo de tiempo y llame totalmilliseconds método:

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

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

¿me puede recomendar algún buen libro para aprender el scripting de powershell? Estoy muy agradecido. –

+1

empiece a leer este libro en línea: http://powershell.com/cs/blogs/ebook/ –

+0

Si necesita lanzar un valor inicial con precisión de segundo menor, puede usar lo siguiente: '([ TimeSpan] :: FromSeconds (0.9780526)) .TotalMinutes # return 0.0163' –

3

Si necesita (sub) resolución de milisegundos, echa un vistazo a System.Diagnostics.Stopwatch.

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

puede obtener fecha completa con millseconds con lo siguiente:

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

gracias por editar, ¿cómo se establece el fondo gris? – freakydinde

+1

Utilizó el descuento para el código. Comienza y termina con un back-tick. ' –

3

La pregunta sugiere la búsqueda de una fecha y hora determinada en milisegundos (tiempo de época Microsoft). Esto se resuelve fácilmente con:

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

o

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

Para convertir esto en tiempo de época Unix en segundos:

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

Dónde 11644473600 es el número de segundos transcurridos entre la época de Microsoft (1 de enero de 1601 dC (CE)) y la época de Unix (1 de enero de 1970, 12AM UTC/GMT)

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

+0

Microsoft cuenta con intervalos de 100 nanosegundos desde su época, esto debe convertirse en milisegundos. –

Cuestiones relacionadas