私は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
だから、私はそれに置き換えるように言っています - で:、それを機能させるだけで、そのようなものです。
それで、それを改善する方法はありますか?そして、ある種の条件を作成することはできますか? ボタンを押すことはできません。それが正しくない場合は失敗します (たとえば、書式設定が間違っているか、何もないか、代わりにテキストが表示されます)。