0

我想找到天蓝色表存储的小时数

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 列的代码。但我不知道如何获得时间差异并总结一下。请我解决这个问题。

4

1 回答 1

0

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

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

这是我这边的测试结果:

在此处输入图像描述

笔记:

在我的表中,SignInTimeSignOutTime的类型是String,而不是DateTime。如果您将 2 列的类型设置为DateTime,您只需对我的代码进行一些更改。

在此处输入图像描述

于 2020-07-09T08:22:17.327 回答