200smat设定一个日期与系统实时日期怎么进行运算,得出相差天数.

主要考虑怎么解决月大月小,还有月底和月初的问题.

钻石用户推荐最佳答案

//计算两个年份之间的天数。只计算完整一年这部分。
//基本好像可以。。。。。
if year1+1>=year2 then    //没有完整的一年,不参与计算
else
 for i=year1+1 to year2-1
  if i%4==0 then
   sum=sum+366    //闰年算366日
  else
   sum=sum+365    //平年算365日
  end if
 next i
end if
//计算两个月份之间的天数
if (year1==year2)&(month1+1>=month2) then   //年相同,月之间没有完整月,就不需要计算什么。
else     //否则就出现后面两种情况……
 if year1==year2 then   //这是第一种情况,年相等,直接计算。
  if year1%4==0 then   //闰年了
   mon[1]=29
  else
   mon[1]=28
  end if
  for i=month1 to month2-2 //从当前月的下一个月起,累加,到结束之前的一个月。
  sum=sum+mon[i] 
  next i
 else       //这是第二种情况,年不相等,分两段计算月。
  
  //1 2 3 4 5 6 7 8 9 10 11 12
  //1 2 3 4 5 6 7 8 9 10 11 12
  if month1<>12 then   //计算前段不足一年的月数的天数。
   if year1%4==0 then   //闰年了
    mon[1]=29
   else
    mon[1]=28
   end if
   for i=month1 to 11
    sum=sum+mon[i]
   next i
  end if
  if month2<>1 then   //计算后段不足一年的月数的天数。
   if year2%4==0 then   //闰年了
    mon[1]=29
   else
    mon[1]=28
   end if
   for i=0 to month2-2
    sum=sum+mon[i]
   next i
  end if
 end if
end if
//计算两个日期之间的天数
if (year1==year2)&(month1==month2) then
 sum=day2-day1
else
 if year1%4==0 then
  mon[1]=29 
 else
  mon[1]=28
 end if
 i=month1-1
 sum=mon[i]-day1+day2+sum
end if

你不需要看代码,只需要看文字解释就可以大概地了解这个计算日子的过程。就要这么多的过程。

提问者对于答案的评价:

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc370636.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午4:20
下一篇 2021年7月5日 下午4:20

相关推荐

  • 西门子s7-200的供电

    西门子s7-200怎样供电?型号是SR40 最佳答案 供电:85-264V AC (47-63Hz)更多资料参考:https://www.industry.si…

    2021年7月5日
  • s7200指针

    我现在想实现一个如下功能。A I0.1, =V8.0,A I0.2, = V8.1……一共五个到 A …

    SIMATIC S7-200 2018年12月7日
  • 硬件探测到一个校验错误

    224XPCN的PLC模拟量控制变频器,运行程序的时候,会跳出“硬件检测到一个校验错误”,这样就不能进入监控状态,参数都不能调。各位帮忙分析下什么原因!谢谢! 问题补充:谢谢各位的…

    SIMATIC S7-200 2021年7月5日
  • 染布卷绕

    放布辊的初始卷径怎么测量,要求的是每一次都得测量 最佳答案 用超声或激光测距装置测量,辊径D=2*(测距仪安装位置离轴心距离-测距仪安装位置离辊面最小距离)。 提问者对于答案的评价…

    SIMATIC S7-200 2021年7月5日
  • CPU224CN,DCD/C/DC误接220VAC电源

    CPU224CN,DCD/C/DC误接220VAC电源后损坏,请问自己能修理吗,若能,如何修理? 问题补充:PLC内无用户程序,因此无关程序问题。  最佳答案 &nbsp…

    SIMATIC S7-200 2021年7月5日
  • vincc 和200的问题(分不多,帮帮忙)

    就是想知道VINCC里面有点动的按扭吗?(就是按下是1,放手是0).还有就是我现在要做个程序 3个按扭. 分别是1,2 ,3,对应2个输出Q0.0,Q…

    SIMATIC S7-200 2021年7月5日
  • USB/PPI编程电缆产地问题

    我原来用的原装USB/PPI电缆 上面写着是Made in Germany 而这次订货回来上面却写是Made in Ch…

    SIMATIC S7-200 2017年8月24日
  • S7200 DP通讯异常

    3台S7200公用一根DP总线和ABB ACM800PLC通讯,前2台S7200数据信号异常,将末端的PLC DP头拆除,信号就正常。 最佳答案 1、检查是不是…

    2021年7月5日
  • 加减计数器

    S7-200CN: 加减计数-跟我学 – 70/185 课程编号:V0206 暂无简介 点击这里,打开新窗口观看完整视频 该视频下的所有用户提问列表 加减计数器没有提到,加减输入端…

    2017年6月24日
  • SIMATIC S7-200 PC-Access V1.0软件

    安装 SIMATIC S7-200 PC-Access V1.0 Service Pack 的先决条件是已安装…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论