我有一个文本框,用户可以在估计小时内输入,例如它可能是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;
用户只会在几小时内输入,因此我不需要格式化分钟或秒数,但该字段也可以留空,因此需要接受空时间
答案 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,则可以单独处理。