2009-06-01 7 views
2

Wie die Systemuhr in C# zugreifen? Ich möchte Systemtakt für Zeitverzögerung verwenden, anstatt thread.sleep(); zu verwenden. Bitte führe mich.Systemuhr

+2

Können Sie das konkretisieren? Sind Sie wollen die Zeit ändern oder nur die Zeit lesen, etc ... – JaredPar

+0

was meinst du, was willst du tun? Möchten Sie das Datum/die Uhrzeit eingeben oder möchten Sie die Uhr einstellen können? Kannst du mehr Details hinzufügen? –

+0

Wie möchten Sie die Systemuhr für die Zeitverzögerung verwenden? meinst du (während time_to_wait_until> DateTime.Now.Ticks) {// tue nichts} ??? – DevinB

Antwort

17
DateTime time = DateTime.Now; 

erhalten Sie die aktuelle Zeit.

Also wenn Sie sleep bis zu einer bestimmten Zeit möchten, können Sie die TimeSpan verwenden, um die Anzahl der Millisekunden bis dahin zu berechnen. Sie werden noch thread.sleep oder besser noch System.Threading.Timer (oder System.Timers.Timer) verwenden müssen, um den Prozess zu unterbrechen.

Wenn Sie jedoch einen Prozess zu einem bestimmten Zeitpunkt starten möchten, dann würden Sie besser dran, eine separate Anwendung erstellen und Erstellen einer geplanten Aufgabe, es zu kontrollieren. Dies erfolgt über die Systemsteuerung.

+0

DateTime.Now ist eine Eigenschaft, keine Methode. – Stephan

+0

Realisiert, dass gerade nachdem ich "post" getroffen habe, musste ich zurück gehen und bearbeiten - danke. – ChrisF

+1

Wie ist es wichtig? Die Frage war, Systemdatum und Zeit zu bekommen. – Hemant

10

Ihre beste Wette für die Verzögerung Zwecke statt Schlaf ist ein Timer zu verwenden. Sie legen es so fest, wie oft Sie es "ankreuzen" wollen und Sie erhalten Ereignisse, wenn das passiert.

+0

Um zu vermeiden, Thread.Sleep (..) zu verwenden; Das ist der beste Weg. – Nate

+0

Ich bin mir nicht sicher, aber verwendet der Timer thread.sleep nicht im Backend? – DevinB

+0

Das könnte der Fall sein. – Nate

Verwandte Themen