2013-05-17 11 views
12

Ich versuche, Zeitspanne Variable in eine ganzzahlige Variable mit 'Parse' zu konvertieren. Ich erhalte eine Fehlermeldung, die besagt:Wie ändere ich die Zeitspannenvariable in einen ganzzahligen Typ?

Format Ausnahme nicht behandelte war: Eingabezeichenfolge war nicht im richtigen Format

Dies ist der Code ist haben:

private void dateTimePicker4_ValueChanged(object sender, EventArgs e) 
    { 
     TimeSpan t = dateTimePicker4.Value.ToLocalTime() - dateTimePicker3.Value.ToLocalTime(); 
     int x = int.Parse(t.ToString()); 
     y = x; 
    } 

Mein Ziel ist es angezeigt die zeitliche Änderung für zwei Zeitnehmer, dynamisch in einem Textfeld, dh der Unterschied in Minuten zwischen ihnen sollte in einem Textfeld automatisch angezeigt werden.

+0

Dies in einer schrecklichen Frage. Nicht die Frage selbst, nur dass Sie versuchen, den ToString-Wert zu analysieren. Sie müssen sich angewöhnen, nach vorhandenen Eigenschaften und Methoden zu suchen, die möglicherweise bereits tun, was Sie wollen. Meistens das nicht, die Funktionalität existiert normalerweise schon, irgendwo – musefan

+0

danke, wird dies im Hinterkopf behalten. –

Antwort

22

der Unterschied in Minuten zwischen ihnen sollte in einem Textfeld automatisch angezeigt werden.

Anstelle der Analyse verwenden Sie TimeSpan.TotalMinutes Eigenschaft.

t.TotalMinutes; 

Das Anwesen ist von doppelter Art, wenn Sie nur einen Teil integer müssen, dann können Sie tun:

int x = (int) t.totalMinutes; 
+0

was ist, wenn der Unterschied größer ist als ein Int32 zB: diff. zwischen Beginn der Zeit und jetzt? –

+0

@SrivathsaHarishVenkataramana, verwenden Sie 'lang'. Der Punkt war, den ganzzahligen Teil der Zahl zu nehmen ... – Habib

4
private void dateTimePicker4_ValueChanged(object sender, EventArgs e) 
    { 
     TimeSpan t = dateTimePicker4.Value.ToLocalTime() - dateTimePicker3.Value.ToLocalTime(); 
     int x = int.Parse(t.Minutes.ToString()); 
     y = x; 
    } 

Haben Sie versucht, es zu int x = int.Parse(t.Minutes.ToString()); zu ändern?

Von: http://msdn.microsoft.com/en-us/library/system.timespan.aspx