以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  去年同月最后一天,代码有问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=88600)

--  作者:wjl-se
--  发布时间:2016/8/5 16:01:00
--  去年同月最后一天,代码有问题

excel报表beforbuild事件: mydate是全局变量

Dim y As Integer = mydate.Year \'指定年份
        Dim yd1 As New Date(y, 1, 1) \'本年第一天
        Dim yd2 As New Date(y-1, 1, 1) \'去年第一天
       
        Dim m As Integer = mydate.Month \'指定月份
        Dim md1 As New Date(y, m, 1) \'本月第一天
        Dim md2 As New Date(y, m, Date.DaysInMonth(y,m)) \'本月最后一天
        Dim md3 As New Date(y-1, m, 1) \'去年同月第一天
        Dim md4 As New Date(y-1, m, Date.DaysInMonth(y,m)) \'去年同月最后一天

------------------------------------------------------------------------------------

唯独mydate 是2016年2月份时会报错,附图:

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160805155504.jpg
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/8/5 16:03:00
--  

Dim d As Date = "2016-2-29"

msgbox(d.addYears(-1))


--  作者:大红袍
--  发布时间:2016/8/5 16:05:00
--  
Dim d As Date = "2016-2-20"
d = d.AddMonths(1).addYears(-1)
d = new Date(d.Year, d.Month, 1)
d = d.AddDays(-1)
msgbox(d)

--  作者:wjl-se
--  发布时间:2016/8/5 16:29:00
--  
 好的,谢谢
--  作者:wjl-se
--  发布时间:2016/8/6 18:38:00
--  

帮助里的代码还是很扎实的,是我糊涂了,心不静,往往就会闹出自以为是的错误: 

 

Dim md4 As New Date(y-1, m, Date.DaysInMonth(y-1,m)) \'去年同月最后一天