好吧,我有办法计算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); } }
不太确定如何让它使用Day,因为它似乎应该这样做.
只需在完整日期(而不是它们的时间组件)上执行减法:
var difference = lastDt - firstDt;