Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 比较从基准到循环的时间_C#_Sql - Fatal编程技术网

C# 比较从基准到循环的时间

C# 比较从基准到循环的时间,c#,sql,C#,Sql,我有一个小的循环问题,我不知道如何解决这个问题,也就是说,一个计算当天工作时间的应用程序。 现在我有了多次到达(ZPZ_Von)和离开(ZPZ_Bis)的sql数据库。 现在我需要比较休息时间(最长时间)和他的停顿 我可以把这比作我没有问题的时候,工人们休息了一会儿 我如何才能得到持续时间超过20分钟的时间,是暂停,并将同一时间与分配给轮班的时间进行比较 这是我的循环,在循环中我可以解决问题,直到出现几个到达(ZPZ_Von)和离开(ZPZ_Bis) private void ResolveLu

我有一个小的循环问题,我不知道如何解决这个问题,也就是说,一个计算当天工作时间的应用程序。 现在我有了多次到达(ZPZ_Von)和离开(ZPZ_Bis)的sql数据库。 现在我需要比较休息时间(最长时间)和他的停顿

我可以把这比作我没有问题的时候,工人们休息了一会儿

我如何才能得到持续时间超过20分钟的时间,是暂停,并将同一时间与分配给轮班的时间进行比较

这是我的循环,在循环中我可以解决问题,直到出现几个到达(ZPZ_Von)和离开(ZPZ_Bis)

private void ResolveLunchPause(Work_schedule selectedShift, List<presence_time> arrivals)
{
    if (arrivals.Count > 1 && selectedShift != null)
    {
        if ((arrivals[1].ZPZ_Von - arrivals[0].ZPZ_Bis).TotalHours < selectedShift.lunch_break)
        {
            arrivals[1].ZPZ_Von = arrivals[0].ZPZ_Bis.AddHours(selectedShift.lunch_break);
        }
    }
}
private void resolve午餐暂停(工作计划已选择轮班,列出到达时间)
{
if(arrivals.Count>1&&selectedShift!=null)
{
if((到达[1].ZPZ_Von-到达[0].ZPZ_Bis).TotalHours
下面是一个包含到达和离开的数据库示例

我需要检查休息时间是否超过20分钟,是否与轮班时间相比较


非常感谢您的帮助

此示例仅适用于在职人员吗?此数据样本的预期结果是什么?您如何处理从晚上11点开始到凌晨2点结束的人员?当您在时间之外存储日期时。。。这是2行吗?@DragandDrop这只是一个员工一天的时间,结果现在是一整天的8:03,这是第一次计数吗?在这种情况下,我需要计算12:36-13:34之间的时间,最后,我应该以一种非常难看的方式从我的头顶得到09.10左右的结果:对于最大的休息时间。对于工作时间的总和,它只是
var sumOfWorkz=new TimeSpan(input.Select(x=>x.Bis.TimeOfDay-x.Von.TimeOfDay).sum(r=>r.Ticks))