2017-02-19 5 views
0
TimeSpan ts = DateTime.Now.Subtract(DateTime.Parse(reader1["cur_time"].ToString())); 
int a = ts.Minutes; 
MessageBox.Show(a.ToString()); 
MessageBox.Show(ts.Milliseconds.ToString()); 

Durch Subtraktion Zeit gibt mir 8 Minuten, die korrekt ist. aber diese 8 Minuten in Millisekunden konvertiert geben keine richtige Antwort. Wenn ich 8 Minuten in Millisekunden umwandle, sollte es 480000 Millisekunden sein, aber der obige Code gibt mir 708 Antwort.unerwartete Ergebnisse aus der Zeitspanne in C#

+6

Verwenden Sie stattdessen 'ts.TotalMilliseconds'. Sie erhalten den Bruchteil der Zeit, nicht die Zeit in Millisekunden. Sie sollten auch 'ts.TotalMinutes' verwenden. –

+0

vielen Dank es funktioniert. –

Antwort

6

Sie lesen den Millisekunden-Teil des TimeSpan aus und nicht die gesamten Millisekunden, die der Bereich repräsentiert.

ändern

ts.Milliseconds.ToString(); 

zu

ts.TotalMilliseconds.ToString(); 

Es könnte einige zusätzliche Millisekunden je nachdem, welche DateTime.Now ist und die analysierte cur_time umfassen.

+0

danke es funktioniert –

Verwandte Themen