Foxtable(狐表)用户栏目专家坐堂 → 合同期为2021-03-01至2025-08-31,如何编程自动得出每年合同内是多少个月。


  共有2051人关注过本帖树形打印复制链接

主题:合同期为2021-03-01至2025-08-31,如何编程自动得出每年合同内是多少个月。

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113597 积分:578504 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/2/28 16:39:00 [显示全部帖子]


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113597 积分:578504 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/3/1 10:55:00 [显示全部帖子]

看4楼帮助

Dim y, m, d As Integer
Dim dt1 As Date = #3/1/2021#
Dim dt2 As Date = #8/31/2021#
If dt1.Year = dt2.Year Then
    DateYMD(dt1, dt2, y, m, d)
    Output.Show(dt1.Year & "=" & (m + IIf(d > 0, 1, 0)))
ElseIf dt1.Year <= dt2.Year Then
    Dim d1 As Date = New Date(dt1.Year, 12, 31)
    Dim d2 As Date = New Date(dt2.Year, 1, 1).adddays( - 1)
    
    DateYMD(dt1, d1, y, m, d)
    Output.Show(dt1.Year & "=" & (m + IIf(d > 0, 1, 0)))
    
    d1 = d1.AddYears(1)
    Do While d1.Year <= d2.Year
        Output.Show(d1.Year & "=12")
        d1 = d1.AddYears(1)
    Loop
    
    DateYMD(dt2, d2, y, m, d)
    Output.Show(dt2.Year & "=" & (m + IIf(d > 0, 1, 0)))
End If 

[此贴子已经被作者于2025/3/1 11:01:34编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113597 积分:578504 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/3/1 17:24:00 [显示全部帖子]

如果看不懂代码,建议还是先重头学一下编程基础。没有基础,给再多的代码也是白费

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113597 积分:578504 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/4/8 17:11:00 [显示全部帖子]

最后一个DateYMD之后判断一下y是不是等于1,是就说明刚好12个月

 回到顶部