如何使用 c# 在 azure 表存储中查找 2 dateTime 之间的小时数
Posted
技术标签:
【中文标题】如何使用 c# 在 azure 表存储中查找 2 dateTime 之间的小时数【英文标题】:how to find the hours between 2 dateTime in azure table storage using c# 【发布时间】:2020-10-28 13:17:37 【问题描述】:我想在 azure 表存储中找到小时数
public UserTimeSheet GetTotalHoursByYear()
CloudTable cloudTable = GetCloudTable();
var query = new TableQuery<DynamicTableEntity>()
SelectColumns = new List<string>()
"SignInTime", "SignOutTime"
;
var queryOutput = cloudTable.ExecuteQuerySegmented<DynamicTableEntity>(query, null);
var results = queryOutput.Results.ToList();
foreach (var entity in results)
return null;// results.ToList();
我已返回选择 2 个 dateTime 列的代码。但我不知道如何获得时间差异并总结一下。请我解决这个问题。
【问题讨论】:
您可以使用此答案 ***.com/questions/2821040/… 中显示的解释计算两个 DateTime 变量之间的差异。我想使用这些列不是问题 【参考方案1】:请使用下面的代码(请随时修改代码以满足您的需要):
//other code.
var queryOutput = cloudTable.ExecuteQuerySegmented<DynamicTableEntity>(query, null);
var results = queryOutput.Results.ToList();
foreach (var entity in results)
var start = DateTime.Parse(entity.Properties["SignInTime"].StringValue);
var end = DateTime.Parse(entity.Properties["SignOutTime"].StringValue);
var diff_hour = end.Subtract(start).Hours;
Console.WriteLine("the hours between signIn and signOut is: " + diff_hour);
这是我这边的测试结果:
注意:
在我的表格中,SignInTime 和 SignOutTime 的类型是 String,而不是 DateTime。如果您将 2 列的类型设置为 DateTime,您只需对我的代码稍作更改即可。
【讨论】:
以上是关于如何使用 c# 在 azure 表存储中查找 2 dateTime 之间的小时数的主要内容,如果未能解决你的问题,请参考以下文章