2016-09-06 4 views
1

Ich habe Tabelle in MySQL wie unten gezeigt. Sie können sehen, dass ich InTime und OutTime-Spalten habe und wo Sie inTime als Standard gefunden haben. OutTime ist 00:00:00 und umgekehrt. Ich möchte total_inTime für ein beliebiges einzelnes Datum so berechnen, dass alle Unterschiede zwischen intime und outTime addiert werden. (first_outTime-first_inTime so).Operation auf Serverzeit mit C#

enter image description here

Wie kann ich total_inTime daraus berechnen und wie Operationen auf INTIME und outtime zu tun, die in HH: mm: ss-Format in C#?

+1

Verwenden Sie 'TimeSpan' um zu berechnen spät der Unterschied zwischen der Ein- und Auszeit. –

+0

Nun, lass es mich versuchen. Ich denke, es ist eine gute Lösung. Sir, können Sie mir sagen, wie Sie Daten von mysql auf die richtige Weise erhalten, damit solche Operationen einfach durchzuführen sind. – Dipak

+0

Verwenden Sie das 'SqlDataReader'-Objekt. –

Antwort

0

Versuchen Sie dieses Beispiel:

DateTime inTime = Convert.ToDateTime("17:19:44"); //example inTime 
DateTime outTime = Convert.ToDateTime("19:19:00"); //example outTime 
TimeSpan span = outTime - inTime; 
TimeSpan duration = span.Duration(); 
Console.WriteLine(duration); 

Ausgang:

01:59:16

Für den Betrieb auf Ihrer Tabelle durchgeführt wird, etwas tun wie folgt aus:

MySqlDataReader mydr = cmd.ExecuteReader(); 
while (mydr.Read()) 
{ 
    DateTime inTime = Convert.ToDateTime(mydr["inTime"]); 
    DateTime outTime = Convert.ToDateTime(mydr["outTime"]); 
    ... 
    ... 
    //the rest of the code goes here as in the example. 
} 
+0

Danke für die Antwort im Detail. Lass mich das überprüfen. – Dipak

+0

@DipakAkhade überprüfen Sie dies [Geige] (https://dotnetfiddle.net/23zMSI) –