WPF, C#: Zeitdifferenz berechnen
Wie berechnet man die Zeitdifferenz zwischen zwei Zeiten in C#
Lösung:
Die Zeitdifferenz wird in C# mit der TimeSpan berechnet.
Zunächst definiert man eine Zeit oder zwei Zeiten:
DateTime dtStart = DateTime.Now;
|
Damit lädt man dann eine Zeitdifferenz TimeSpan
TimeSpan dtDiff= DateTime.Now-dtStart;
|
Anschliessend kann man die Zeit-Anteile dieser TimeSpan auswerten.
Zum Beispiel kann man die Zeit in Millisekunden auswerten.
Allerdings muss man darauf achten, dass die Werte von TimeSpan.Milliseconds nur Werte von 0 bis 999 ergeben.
Hier der Vergleich zu Sekunden (0..59)
Komplettes Code-Beispiel in C#
private void btnTranslate_Click(object sender, RoutedEventArgs e)
{
// -------------------< btnTranslate_Click() > -------------------
//*set and get Translation
doc= (mshtml.HTMLDocument)ctlBrowser.Document;
set_Translation();
//----< wait 5 seconds >----
DateTime dtStart = DateTime.Now;
while (1==1)
{
TimeSpan dtDiff= DateTime.Now-dtStart;
if ( dtDiff.Seconds >5) break;
Task.Delay(1);
}
//----</ wait 5 seconds >----
//----< wait doc.complete >----
dtStart = DateTime.Now;
while (doc.readyState != "complete")
{
;
if ((DateTime.Now- dtStart).Seconds > 5) break;
Task.Delay(1);
}
//----</ wait doc.complete >----
get_Translation();
//-------------------</ btnTranslate_Click() >-------------------
}
|
Im Debugger zur Laufzeit:
Man sieht auch, dass die .Seconds nur werte von 0 bis 59 ausgeben und somit ein Vergleich mit größer 100 gar nichts bringen würde.
Betrifft:TimeSpan, DateDiff, Date Add, Difference, Zeitunterschied