格式化时间大于24小时

时间:2016-12-21 11:12:14

标签: c# asp.net timespan

我有一个文本框,用户可以在估计小时内输入,例如它可能是150小时。我这次格式化怎么样?时间自动格式化为00:00:00,因此如果我在150小时内输入,则会更改为34.22:59:59

TimeSpan tmpEstimate;
TimeSpan? TimeEstimate;

if (TimeSpan.TryParse(txtEstimateHrs.Text, out tmpEstimate))
    TimeEstimate = tmpEstimate;
else
   TimeEstimate = null;

用户只会在几小时内输入,因此我不需要格式化分钟或秒数,但该字段也可以留空,因此需要接受空时间

2 个答案:

答案 0 :(得分:4)

使用double值进行输入可能会更好,而不是time

TimeSpan? TimeEstimate = null;
double tmpEstimate; 
if (double.TryParse(txtEstimateHrs.Text, out tmpEstimate)) 
{ 
    TimeEstimate = TimeSpan.FromHours(tmpEstimate); 
}

OR

double? TimeEstimate = null;
double tmpEstimate; 
if (double.TryParse(txtEstimateHrs.Text, out tmpEstimate)) 
{ 
    TimeEstimate = tmpEstimate; 
}

答案 1 :(得分:1)

如果您只对小时数感兴趣,请查看TimeSpan.FromHours(),这需要花费数小时,并且只为该值生成TimeSpan对象。 如果该值为null,则可以单独处理。