Question

I'm trying to convert timespan variable into an integer variable using 'parse'. I get an error that says:

Format exception was unhandled: Input string was not in correct format

This is the code is have :

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

My target is to display this the change in time for two timepickers, dynamically in a text box, i.e, the difference in minutes between them should be displayed in a textbox automatically.

Was it helpful?

Solution

the difference in minutes between them should be displayed in a textbox automatically.

Instead of parsing use TimeSpan.TotalMinutes property.

t.TotalMinutes;

The property is of double type, if you just need to integer part then you can do:

int x = (int) t.totalMinutes;

OTHER TIPS

 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;
    }

Have you tried changing it to int x = int.Parse(t.Minutes.ToString());?

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top