如何使用 c# 在 azure table 存储中查找 2 个 dateTime 之间的小时数

how to find the hours between 2 dateTime in azure table storage using c#

我想在 azure table 存储中找到小时数

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();
    }

我有 return select 2 个日期时间列的代码。但我不知道如何获得时间差异并进行总结。请我来解决这个问题。

请使用以下代码(请随时修改代码以满足您的需要):

        //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);
        }

这是我这边的测试结果:

注:

在我的table中,SignInTimeSignOutTime的类型是String,而不是 DateTime。如果您将 2 列的类型设置为 DateTime,您只需要对我的代码稍作更改。