计算时差,并使用天数

Zer*_*ker 0 c#

好吧,我有办法计算2个文件之间的时差,或者更确切地说是2个"日期".然而,如果时间差是一天,意味着一个开始,比如23:00,另一个01:20,那么它会失败并且认为它落后而不仅仅是2在前面的小时.

这是代码:

private void button1_Click(object sender, EventArgs e)
{
   try
   {
       DateTime firstDt;
       DateTime lastDt;
       if (DateTime.TryParseExact(First.Text, "yyyy-MM-dd HH-mm-ss-fff", CultureInfo.InvariantCulture, DateTimeStyles.None, out firstDt)
              && DateTime.TryParseExact(Last.Text, "yyyy-MM-dd HH-mm-ss-fff", CultureInfo.InvariantCulture, DateTimeStyles.None, out lastDt))
       {
          var difference = lastDt.TimeOfDay - firstDt.TimeOfDay;
          Console.WriteLine(difference);
          CalcDiff.Text = "DelayAudio(" + difference.TotalSeconds.ToString("F3") + ")";
       }
   }
   catch (Exception ex)
   {
      MessageBox.Show("TimeSpan Calculate: " + ex.Message);
   }
}
Run Code Online (Sandbox Code Playgroud)

不太确定如何让它使用Day,因为它似乎应该这样做.

Dou*_*las 5

只需在完整日期(而不是它们的时间组件)上执行减法:

var difference = lastDt - firstDt;
Run Code Online (Sandbox Code Playgroud)