以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]窗口計算日期  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=45109)

--  作者:JoyGum
--  发布时间:2014/1/15 20:54:00
--  [求助]窗口計算日期
附上例子,感恩啊!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目9.table


--  作者:有点甜
--  发布时间:2014/1/15 21:19:00
--  
 相差年月,各自计算,还是合起来等于相差日期?

Dim t As Table = e.Form.Controls("Table1").Table
Dim d As Date = e.Sender.Value
For Each r As Row In t.Rows
    Dim ts As TimeSpan = d - cDate(r("日期"))
    r("相差年數") = ts.TotalDays / 365.2422
    r("相差月數") = ts.TotalDays / 30.43
    r("相差日數") = ts.TotalDays
Next

--  作者:有点甜
--  发布时间:2014/1/15 21:30:00
--  
或者

Dim t As Table = e.Form.Controls("Table1").Table
Dim d As Date = e.Sender.Value
For Each r As Row In t.Rows
    Dim rd As Date = r("日期")
    Dim tday As Integer
    Dim day As Integer = rd.Day
    If day >= d.Day Then
        tday = day - d.Day
    Else
        tday = 31 + day - d.Day
        rd = rd.AddDays(-31)
    End If
    Dim month As Integer = rd.Month
    Dim tmonth As Integer
    If month >= d.Month Then
        tmonth = month - d.month
    Else
        tmonth = 12 + month - d.Month
        rd = rd.AddMonths(-12)
    End If
    Dim year As Integer = rd.Year
    
    
    r("相差年數") = year - d.year
    r("相差月數") = tmonth
    r("相差日數") = tday
Next

--  作者:JoyGum
--  发布时间:2014/1/15 21:35:00
--  
太感恩了!謝謝有點甜老師!若相差年數未滿1年當0年,未滿2年當1年..以此類推。應如何修改?
--  作者:有点甜
--  发布时间:2014/1/15 21:39:00
--  
 是不是3楼的代码?
--  作者:JoyGum
--  发布时间:2014/1/15 21:52:00
--  
再次謝謝有點甜老師!兩種我都需要可以學。