程序逻辑问题,也不知哪里想错了求教各位

首先有一个班次表
var sj11="${=sql('表','SELECT * FROM banci ',4,1)}";//7:00:00班次1段的头
var sj12="${=sql('表','SELECT * FROM banci ',5,1)}";//15:00:00班次1段的结束
var sj21 = "${=sql('','SELECT * FROM banci ',4,2)}";//15:00:00班次2
var sj22= "${=sql('','SELECT * FROM banci ',5,2)}";//23:00:00班次2
var sj31 = "${=sql('','SELECT * FROM banci ',4,3)}";//23:00:00班次3
var sj32 = "${=sql(','SELECT * FROM banci ',5,3)}";//7:00:00班次3


通过这样得到表中每一个班次的时间开始结束点,
另外有一个日期选择控件,可以选一天,比如就选2017-10-26

如果班次段的开始时间点(比如23:00)大于结束时间点(7:00),那么对应的开始时间:2017-10-26 23:00:00,结束时间2017-10-27 7:00:00
加了一天。
、o、、部分代码如下,每次都比较班次段的开头跟结束哪个大,从而判断结束时间的天数要不要加1,由于班次表格的内容时间会更改,所以要采取每一个段都要比较的方法
case "班次1":
        {if(sj11<sj12)
           { starttime.setValue(starttime.getValue().split(" ")[0]+" "+sj11);
             endtime.setValue(endtime.getValue().split(" ")[0]+" "+sj12);}
        else{starttime.setValue(starttime.getValue().split(" ")[0]+" "+sj11);
             var K =endtime.getValue().split(" ")[0];
             var M= '${=DATEDELTA(K, 1)}'.split(" ")[0];
          endtime.setValue(M+" "+sj12);
        }
        break;}
        case "班次2":
        {if(sj21<sj22)
            { starttime.setValue(starttime.getValue().split(" ")[0]+" "+sj21);
              endtime.setValue(endtime.getValue().split(" ")[0]+" "+sj22);}
        else{
                starttime.setValue(starttime.getValue().split(" ")[0]+" "+sj21);
             var K =endtime.getValue().split(" ")[0];
             var M= '${=DATEDELTA(K, 1)}'.split(" ")[0];
         endtime.setValue(M+" "+sj22);
        }
        break;}
        default:{
          if(sj31<sj32)
          {  starttime.setValue(starttime.getValue().split(" ")[0]+" "+sj31);
           endtime.setValue(endtime.getValue().split(" ")[0]+" "+sj22);}
        else{
                starttime.setValue(starttime.getValue().split(" ")[0]+" "+sj31);
             var K =endtime.getValue().split(" ")[0];
             var M= '${=DATEDELTA(K, 1)}'.split(" ")[0];
           endtime.setValue(M+" "+sj32);
               
                }

但是效果图附上,,为啥每一个结束时间段都是变成27了。。。而且选班次3 结束时间那还不是2017-10-27 7:00:00

编辑于 2017-10-26 16:51  
FineReportzhaozhaode 发布于 2017-10-26 15:30
回答问题
悬赏:2 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共12回答
最佳回答
0
w帆发布于2017-10-26 15:30(编辑于 2023-9-6 09:34)
555
  • w帆 w帆 上面的. 改: 就是对应你的
    回复
    2017-10-26 16:27 
最佳回答
0
w帆发布于2017-10-26 16:08(编辑于 2023-9-6 09:34)
555
最佳回答
0
zhaozhaode发布于2017-10-26 16:37(编辑于 2023-9-6 09:34)
555
最佳回答
0
zhaozhaode发布于2017-10-26 16:38(编辑于 2023-9-6 09:34)
555
最佳回答
0
w帆发布于2017-10-26 16:47(编辑于 2023-9-6 09:34)
555
  • w帆 w帆 字符串 一般都用来判断是否相等   比较大小   转类型是最好的
    回复
    2017-10-26 16:49 
  • w帆 w帆 如果是字母  他也是转化的  有ascii码 进制大小 默认10进制  如果你字符串一个为a 一个为b  a是97 b 是98  a<b   你转换的字符串7和15并不是你理解7和15   
    回复
    2017-10-26 16:57 
最佳回答
0
zhaozhaode发布于2017-10-26 16:48(编辑于 2023-9-6 09:34)
555
最佳回答
0
w帆发布于2017-10-26 17:00(编辑于 2023-9-6 09:34)
555
最佳回答
0
zhaozhaode发布于2017-10-26 17:10(编辑于 2023-9-6 09:34)
555
最佳回答
0
w帆发布于2017-10-26 17:13(编辑于 2023-9-6 09:34)
555
  • 0关注人数
  • 413浏览人数
  • 最后回答于:2017-10-26 17:13
    活动推荐 更多
    热门课程 更多
    返回顶部