2016-05-14 5 views
0
    DateTime a = Convert.ToDateTime(reader["user_lastlogin"]); 
        DateTime b = DateTime.Now; 
        TimeSpan diff = b - a; 
        Label3.Text = diff.ToString(); 

konvertieren Dies ist, was ich tue, nicht sicher, ob dies die optimale Lösung ist, aber ich lerne immer noch. Das, was in Labe3 zeigt sichKann meine Zeitdifferenz nicht zu irgendeiner der benutzerdefinierten

    00:20:41.8159296 

Wie konnte ich es zum Beispiel machen nur

    00:20:41 

Antwort

2

Verwenden Sie eine benutzerdefinierte Zeitformat-Zeichenfolge mit dem Format, das Sie erreichen wollen. (Siehe auch die MSDN für mehr Formatierungsoptionen)

Label3.Text = diff.ToString(@"hh\:mm\:ss"); 

+0

ist mir ein Fehler ‚System.FormatException‘ – Harugawa

+0

Versuchen Sie es erneut mit neuen Format. –

+0

@Maximilian_Gerhardt Danke, funktioniert wie ein Charme. Ich selbst habe versucht, seltsame Sachen mit String.Format ("{0: T}", dt) zu machen; aber es ging nicht so gut. – Harugawa

0

Hier haben Sie eine gute Referenz. Timespan Formating

Antwort wäre: (Zeitspanne bis HH: mm: ss formated)

new DateTime(timeSpan.Ticks).ToString("HH:mm:ss"); 

(stellen Sie sicher, verwenden Sie keine hh statt HH da 0 als 12 ausgedruckt werden (abhängig von Ihrem lokale Kultureinstellungen))

+0

Dies ist keine Antwort, es ist bestenfalls ein Kommentar. –

+0

OP scheint die Sekunden auch zu brauchen –