我有 2 个文本框,并想计算这 2 个文本框之间的时间差。我得到了它的工作,但它几乎没有,至少我认为我只是让它与一些“黑客”一起工作。
如果某些事情不正确,它也会失败,并且会抛出我想阻止的异常(可能使用 IF,如果不正确则忽略)。
这是代码:
private void button1_Click(object sender, EventArgs e)
{
try
{
var first = TimeSpan.ParseExact(First.Text.Replace("-", ":").Remove(First.Text.LastIndexOf("-"), 1).Insert(First.Text.Length - 4, "."), "g", CultureInfo.InvariantCulture);
var last = TimeSpan.ParseExact(Last.Text.Replace("-", ":").Remove(First.Text.LastIndexOf("-"), 1).Insert(First.Text.Length - 4, "."), "g", CultureInfo.InvariantCulture);
var difference = first - last;
CalcDiff.Text = difference.TotalSeconds.ToString("F3");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
正如你所看到的,它有很多“替换”和各种各样的东西,只是为了让它发挥作用。
我提供的格式是这样的:
2013-05-22 12-07-55-324
就此而言,我只关心时间,即:12-07-55-324
所以,我告诉它用 : 替换 - 让它工作,以及类似的东西。
那么,有没有办法改进它。我可以制作某种条件,所以我不能只是按下按钮,如果它不正确(例如格式错误,或者那里什么都没有,或者是文本),它将失败。