在 C# 中计算时间跨度并将结果存储在 MSSQL 中

Calculating Timespan in C# and storing result in MSSQL

我正在尝试计算 sql 日期时间字段、Bdc_TimeIn(日期时间)和 Bdc_TimeOut 之间的时间跨度。我需要将时间跨度存储在名为 Bdc_TimeElapsed 的第三个字段中,该字段当前是数据类型时间。

我试过 TimeSpan telapsed = Bdc_TimeOut.Subtract(Bdc_TimeIn);但我收到错误:

CS1061 'DateTime?' 不包含 'Subtract' 的定义,并且找不到接受类型 'DateTime?' 的第一个参数的可访问扩展方法 'Subtract'(您是否缺少using 指令或程序集引用?)

  1. 如何计算 Bdc_TimeIn 和 Bdc_TimeOut
  2. 之间的时间跨度
  3. 如何将结果存储在我的 MSSql 数据库中。

感谢您的帮助...对这种类型的数据操作非常陌生。

使用 Value 属性:

// Example values.
DateTime? Bdc_TimeOut = DateTime.Now;
DateTime? Bdc_TimeIn = DateTime.Today;

TimeSpan telapsed = Bdc_TimeOut.Value.Subtract(Bdc_TimeIn.Value);

时间跨度可以存储为 long:

long elapsed = telapsed.Ticks;