我不确定这里发生了什么,但它会接受一些时间跨度,而不是其他时间。有人能告诉我一种方法,以99:59:59的格式检查虚拟时间跨度。
//50:30:00 is bad
//50:20:00 is good
try
{
TimeSpan ts = new TimeSpan();
ts = TimeSpan.Parse("50:30:00");
}
catch //(Exception ex)
{
MessageBox.Show("bad time span");
}
答案 0 :(得分:6)
默认情况下,Timespan.Parse
方法假定时间为格式为Days:Hours:Minutes
的int。由于一天中的时间不能超过24小时,因此当Hours
分量大于24时,它会抛出。
我不得不承认,Timespan.Parse
不会为你做转换,我有点惊讶。我有预感,这与事实并非所有日子都是24小时。