2012-07-03 8 views

Respuesta

164

La clase System.Diagnostics.Process tiene una propiedad que contiene la hora de inicio que se puede utilizar para calcular cuánto tiempo ha estado funcionando:

var current = System.Diagnostics.Process.GetCurrentProcess(); 
DateTime startedAt = current.StartTime 
+7

+1 - Bonito. Nunca me di cuenta de eso. – Oded

+6

¡Impresionante! Tengo que amar .net – broke

+1

Tenga en cuenta que 'current.StartTime' es la hora local del servidor, no UTC. – George

7

Puede tener un Static DateTime Variable para su proyecto, y almacenar la fecha y hora en el constructor de su clase principal. Hacer referencia a esta variable estática y compararla con la hora actual le ayuda a lograr su resultado

+4

;) sí, también puede leer el tiempo de la variable existente;) – TomTom

34

Utilice la clase StopWatch para esta función.

Aunque sea bastante exagerado, siempre funcionará, incluso si el usuario cambia el reloj o incluso si hay algunos cambios de horario de verano durante el proceso. - Julien Lebosquain (Comentario a mi respuesta.)

+9

Aunque sea bastante exagerado, esa es la única respuesta que siempre funcionará, incluso si el usuario cambia el reloj, incluso si hay algunos cambios de horario de verano durante el proceso ejecute tan +1. –

+1

@JulienLebosquain: Gracias. Agregaré ese punto en mi respuesta con los créditos debidos. –

+3

+1 para contrarrestar el downvotes sin sentido – nawfal

Cuestiones relacionadas