C# 如何计算C中的累计时间?

C# 如何计算C中的累计时间?,c#,datetime,time,C#,Datetime,Time,我想计算我在数据库中保存的两次之间的时间跨度。 所以我想知道这两个值之间的时间长度 14:10:20-10:05:15=02:05:05 所以结果是02:05:05 我如何使用C语言实现这一点 14:10:20是我保存在数据库中的格式。将两个时间值读入TimeSpan变量,然后对较大的TimeSpan变量执行.Subtract以获得TimeSpan结果 例如,时间跨度差=t1.减去t2 将两个时间值读入TimeSpan变量,然后对较大的TimeSpan变量执行.Subtract以获得TimeSp

我想计算我在数据库中保存的两次之间的时间跨度。 所以我想知道这两个值之间的时间长度

14:10:20-10:05:15=02:05:05

所以结果是02:05:05

我如何使用C语言实现这一点


14:10:20是我保存在数据库中的格式。

将两个时间值读入TimeSpan变量,然后对较大的TimeSpan变量执行.Subtract以获得TimeSpan结果


例如,时间跨度差=t1.减去t2

将两个时间值读入TimeSpan变量,然后对较大的TimeSpan变量执行.Subtract以获得TimeSpan结果


例如,时间跨度差=t1.减去t2

DateTime对象支持-运算符,因此您可以将时间读入此类对象并减去它们。要进行测试,请检查以下内容:

DateTime then = DateTime.Now;
Thread.Sleep(500);
DateTime now = DateTime.Now;
TimeSpan time = now - then;
MessageBox.Show(time.ToString());

DateTime对象支持-运算符,因此您可以将时间读入此类对象并减去它们。要进行测试,请检查以下内容:

DateTime then = DateTime.Now;
Thread.Sleep(500);
DateTime now = DateTime.Now;
TimeSpan time = now - then;
MessageBox.Show(time.ToString());

第一步是将数据库中存储的时间值转换为.NET DateTime结构

如果将它们作为SQL日期时间值存储在数据库中,则可以直接作为日期时间获取它们。它看起来像这样:

SQLCommand getTimeCommand = new SQLCommand("SELECT time FROM table", dbConnection);
SQLDataReader myReader = getTimeCommand.ExecuteReader();
while (myReader.Read())
{
    DateTime time = myReader.GetDateTime(0);
}
myReader.Close();
您的实现可能有所不同,请参阅MSDN库中的ADO.NET文档

如果您已经获得了一个表示时间的字符串,那么可以使用静态方法将该字符串解析为DateTime

DateTime.Parse 

在您的情况下,您可能需要使用ParseExact,它可以与定义如何读取字符串的格式字符串一起提供。示例可以在MSDN库中找到

NET中的持续时间存储在TimeSpan结构中。获取到日期时间之间经过的时间很容易:

DateTime time1, time2; //filled with your timevalues from the db
TimeSpan elapsed = d2 - d1;

已用时间现在包含两个日期时间之间的时间跨度。结构有多个成员可以访问TimeSpan。查看MSDN库以找到所需的库。

第一步是将存储在数据库中的时间值转换为.NET DateTime结构

如果将它们作为SQL日期时间值存储在数据库中,则可以直接作为日期时间获取它们。它看起来像这样:

SQLCommand getTimeCommand = new SQLCommand("SELECT time FROM table", dbConnection);
SQLDataReader myReader = getTimeCommand.ExecuteReader();
while (myReader.Read())
{
    DateTime time = myReader.GetDateTime(0);
}
myReader.Close();
您的实现可能有所不同,请参阅MSDN库中的ADO.NET文档

如果您已经获得了一个表示时间的字符串,那么可以使用静态方法将该字符串解析为DateTime

DateTime.Parse 

在您的情况下,您可能需要使用ParseExact,它可以与定义如何读取字符串的格式字符串一起提供。示例可以在MSDN库中找到

NET中的持续时间存储在TimeSpan结构中。获取到日期时间之间经过的时间很容易:

DateTime time1, time2; //filled with your timevalues from the db
TimeSpan elapsed = d2 - d1;

已用时间现在包含两个日期时间之间的时间跨度。结构有多个成员可以访问TimeSpan。查看MSDN库,找到您需要的工具。

t1-t2也会这样做,对眼睛更容易。t1-t2也会这样做,对眼睛更容易。