I’m doing some math with the Timespans in .Net, and occasionally the sum results in a negative Timespan. When I display the result I am having trouble formatting it to include the negative indicator.
Dim ts as New Timespan(-10,0,0)
ts.ToString()
This will display “-10:00:00”, which is good but I don’t want to show the seconds so tried this.
ts.ToString("hh\:mm")
This returns “10:00” and has dropped the “-” from the front which is the crux of the issue. My current solution is this:
If(ts < TimeSpan.Zero, "-", "") & ts.ToString("hh\:mm")
but I was hoping to accomplish the same by using only the format string.
I’ve used .Net Reflector on TimeSpan.ToString(…) and it really doesn’t look like it supports any form of negative prefix on custom formats – so I think you’re out of luck when it comes to getting it to work for you as above. 🙁